import { TActivity } from "../types/activity.type"; import { TInput } from "../types/input.type"; import { TOrchestrator } from "../types/orchestrator.type"; import { TOutput } from "../types/output.type"; import { EntityFactory } from "../entities/task-entity"; /** * Registry for orchestrators, activities, and entities. * * @remarks * This class is used by the worker to look up task implementations by name. * Entity names are normalized to lowercase for case-insensitive matching. */ export declare class Registry { private _orchestrators; private _activities; private _entities; constructor(); addOrchestrator(fn: TOrchestrator): string; addNamedOrchestrator(name: string, fn: TOrchestrator): void; getOrchestrator(name?: string): TOrchestrator | undefined; addActivity(fn: TActivity): string; addNamedActivity(name: string, fn: TActivity): void; getActivity(name: string): TActivity | undefined; /** * Registers an entity factory with auto-detected name. * * @param factory - Factory function that creates entity instances. * @returns The registered entity name (normalized to lowercase). * * @remarks * The entity name is derived from the factory function name. * Entity names are normalized to lowercase for case-insensitive matching. */ addEntity(factory: EntityFactory): string; /** * Registers an entity factory with a specific name. * * @param name - The name to register the entity under. * @param factory - Factory function that creates entity instances. * * @remarks * Entity names are normalized to lowercase for case-insensitive matching, * consistent with EntityInstanceId's name normalization. */ addNamedEntity(name: string, factory: EntityFactory): void; /** * Gets an entity factory by name. * * @param name - The name of the entity to look up. * @returns The entity factory, or undefined if not found. * * @remarks * The name is normalized to lowercase before lookup. */ getEntity(name: string): EntityFactory | undefined; /** * Gets the names of all registered orchestrators. */ getOrchestratorNames(): string[]; /** * Gets the names of all registered activities. */ getActivityNames(): string[]; /** * Gets the names of all registered entities. */ getEntityNames(): string[]; _getFunctionName(fn: Function): string; }