import type { RunInput } from "#channel/types.js"; /** * Serializable workflow-entry input. All runtime state travels via * `serializedContext`, which is produced by `serializeContext(ctx)` * and deserialized at each `"use step"` boundary. */ export interface WorkflowEntryInput { readonly input: RunInput["input"]; readonly serializedContext: Record; } export interface WorkflowEntryResult { readonly output: unknown; } /** * Long-lived workflow entrypoint. Handles both root sessions and * delegated child sessions: root sessions expose only parent * control-plane events; delegated children publish their full progress * on a child stream and resume the parked parent with a * `subagent-result` on completion. * * Dispatches on the closed-contract {@link NextDriverAction} returned * by each step. The only session-shape flag the driver reads (besides * identity) is `hasProxyInputRequests`, the documented short-circuit * for hook-payload routing. */ export declare function workflowEntry(input: WorkflowEntryInput): Promise;