import type { WorkflowRegistration, ActivityRegistration, ActivityOptions, CronOptions } from '../types.js'; /** * Global workflow registry — populated by decorators at import time. */ export declare class WorkflowRegistry { private static workflows; private static pendingEntryPoint; private static pendingSignals; private static pendingQueries; private static pendingCron; static registerWorkflow(name: string, registration: WorkflowRegistration): void; static deferEntryPoint(methodName: string): void; static deferSignal(signalName: string, methodName: string): void; static deferQuery(queryName: string, methodName: string): void; /** * Attach cron metadata to a workflow. `@Cron` is a CLASS decorator, so * unlike `@Run`/`@Signal`/`@Query` (method decorators, which always run * before the class decorator that consumes them), its execution order * relative to `@Workflow` depends on decorator stacking (decorators apply * bottom-up). Handle both orders: if `@Workflow` already registered the * class (this decorator ran second / is stacked above `@Workflow`), mutate * the existing registration directly by name; otherwise defer, exactly * like the method decorators, for `registerWorkflow` to pick up. */ static applyCron(name: string, options: CronOptions): void; static get(name: string): WorkflowRegistration | undefined; static getAll(): Map; static has(name: string): boolean; static clear(): void; } /** * Global activity registry — populated by decorators at import time. */ export declare class ActivityRegistry { private static activities; private static activityClasses; private static instanceCache; private static pendingActivities; static registerActivity(name: string, fn: (...args: any[]) => Promise, options?: ActivityOptions): void; static registerActivityClass(cls: new (...args: any[]) => any, options?: ActivityOptions): void; static deferActivity(name: string, options?: ActivityOptions): void; static get(name: string): ActivityRegistration | undefined; static getAll(): Map; /** Get a cached activity class instance (singleton per class name) */ static getActivityInstance(className: string): { instance: any; options?: ActivityOptions; } | undefined; static has(name: string): boolean; static clear(): void; }