import type { NextDriverAction } from "#execution/next-driver-action.js"; import { type TurnWorkflowInput } from "#execution/durable-session-migrations/turn-workflow.js"; /** * Hook payload the turn child workflow delivers to the parent driver * on completion. `turn-result` wraps a {@link NextDriverAction} the * driver dispatches on; `turn-error` carries a normalized error the * driver rethrows. */ export type TurnCompletionPayload = { readonly kind: "turn-result"; readonly action: NextDriverAction; } | { readonly kind: "turn-error"; readonly error: unknown; }; export type { TurnWorkflowInput }; /** * Short-lived workflow that owns one runtime turn for the driver. * * `parentWritable` is threaded in from the driver run so event writes * land on the driver's stream. Resolves the turn into a * {@link NextDriverAction} and reports it back through * {@link notifyDriverStep}. */ export declare function turnWorkflow(rawInput: unknown): Promise; /** Resumes the driver's one-shot completion hook with the turn result. */ export declare function notifyDriverStep(input: { readonly completionToken: string; readonly payload: TurnCompletionPayload; }): Promise;