import type { Types } from '@hotmeshio/hotmesh'; /** * Register the Long Tail interceptors in a single call. * * This registers: * 1. The shared activity worker for interceptor DB operations * 2. The workflow interceptor (escalation, routing, re-runs, composition) * 3. The activity interceptor (milestone event publishing) */ export declare function registerLT(connection: { class: any; options: any; }, options?: { taskQueue?: string; defaultRole?: string; /** SDK system-event sink — wired so the activity worker emits lifecycle events. */ events?: Types.EventsConfig; }): Promise; /** * The Long Tail interceptor wraps every registered workflow. * * Every workflow in lt_config_workflows gets the same unified treatment: * * 1. **Orchestrator context** — `next()` is always wrapped in * `runWithOrchestratorContext` so that ANY workflow can compose * children via `executeLT`. If it doesn't, the context is unused. * * 2. **Task tracking** — Every execution is tied to a task record * for lifecycle tracking and origin lineage. * * 3. **Escalation routing** — On escalation or error, the workflow * ENDS after creating an escalation record. When a human resolves, * a NEW workflow is started with resolver data. The interceptor * detects re-runs via `envelope.resolver` + `envelope.lt.escalationId`. * * 4. **Parent signaling** — On completion, signals back to the parent * orchestrator (if any) so the composition chain continues. * * Routing info is read from the task record's metadata (set by executeLT) * rather than from workflow arguments, since the interceptor ctx does not * expose workflow function arguments directly. */ export declare function createLTInterceptor(options: { activityTaskQueue: string; defaultRole?: string; }): { execute(ctx: Map, next: () => Promise): Promise; };