import type { Flow } from '../../types/flow.js'; import type { RunFlowRef, RunState } from './types.js'; export type FlowDriftRecovery = 'restart' | 'abandon'; export declare class FlowDriftError extends Error { readonly name = "FlowDriftError"; readonly runId: string; readonly flowName: string; readonly parkedNode: string; readonly expectedDigest: string; readonly actualDigest: string; readonly recovery: readonly FlowDriftRecovery[]; constructor(fields: { runId: string; flowName: string; parkedNode: string; expectedDigest: string; actualDigest: string; }); } export declare function stampActiveFlow(run: RunState, flow: Flow): Promise; export declare function clearFlowPin(run: RunState): void; export declare function clearActiveFlow(run: RunState): void; export declare function captureFlowPin(run: RunState): { flowDigest?: string; flowRef?: RunFlowRef; }; export declare function restoreFlowPin(run: RunState, pin: { flowDigest?: string; flowRef?: RunFlowRef; }): void; /** * Parked resume is fail-closed against a new definition. A missing stamp is * a legacy run — classify, don't break. The stamp is not caller-supplied * authority: this compares what we wrote on entry to a digest we recompute * from the live flow. */ export declare function assertParkedFlowDigest(run: RunState, flow: Flow): Promise;