import type { HarnessEmissionState } from "#harness/emission.js";
import type { HarnessEmitFn, HarnessToolMap } from "#harness/types.js";
import type { WorkflowSandboxInterrupt } from "#shared/workflow-sandbox.js";
export declare function createWorkflowLifecycle(input: {
    readonly emit: EmitWorkflowLifecycleEvent;
    readonly emissionState: HarnessEmissionState;
    readonly skipReplayed?: boolean;
    readonly tools: HarnessToolMap;
}): {
    onAfterExecute?: (input: {
        readonly result: unknown;
    }) => Promise<void>;
};
type EmitWorkflowLifecycleEvent = HarnessEmitFn;
/** Projects newly parked workflow calls onto eve's existing action stream. */
export declare function emitWorkflowActionsRequested(input: {
    readonly emit: EmitWorkflowLifecycleEvent;
    readonly emissionState: HarnessEmissionState;
    readonly interrupts: readonly WorkflowSandboxInterrupt[];
    readonly tools: HarnessToolMap;
}): Promise<void>;
/** Projects completed workflow children before replaying their continuation. */
export declare function emitWorkflowActionResults(input: {
    readonly emit: EmitWorkflowLifecycleEvent;
    readonly emissionState: HarnessEmissionState;
    readonly interrupts: readonly WorkflowSandboxInterrupt[];
    readonly results: readonly {
        readonly isError?: boolean;
        readonly output?: unknown;
    }[];
}): Promise<void>;
export {};
