import type * as Context from "effect/Context"; import * as Effect from "effect/Effect"; import * as Layer from "effect/Layer"; import { type WorkflowImpl, WorkflowStep } from "./Workflow.ts"; /** * Create a WorkflowBridge class that extends `WorkflowEntrypoint` and * delegates the `run(event, step)` call to the Effect-native workflow body * registered via `worker.export(...)`. * * The bridge provides `WorkflowEvent` and `WorkflowStep` as Effect * services so the user writes `yield* WorkflowEvent` and `yield* task(...)` * instead of receiving callback parameters. */ export declare const makeWorkflowBridge: (WorkflowEntrypoint: abstract new (ctx: unknown, env: unknown) => { run(event: any, step: any): Promise; }, { entrypoint, stack, }: { entrypoint: Effect.Effect>; stack: { name: string; stage: string; }; }) => (className: string) => { new (ctx: unknown, env: unknown): { readonly build: Promise<{ readonly context: Context.Context; readonly fn: WorkflowImpl; readonly telemetry: () => Layer.Layer | undefined; }>; run(event: any, step: any): Promise; }; }; export declare const wrapWorkflowStep: (step: any) => WorkflowStep["Service"]; //# sourceMappingURL=WorkflowBridge.d.ts.map