import type { WorkflowDefinition, WorkflowNode } from "../types.js"; /** Safely detach bounded persisted/declarative workflow data. @internal */ export declare function captureWorkflowStaticValue(value: T, label: string): T; /** Return a mutable per-consumer clone of an already-canonical static value. @internal */ export declare function cloneCapturedWorkflowStaticValue(value: T, label: string): T; export interface CaptureWorkflowStringListOptions { allowUndefined?: boolean; requireNonEmpty?: boolean; } /** Capture a dense, duplicate-free canonical string list. @internal */ export declare function captureWorkflowStringList(value: unknown, label: string, options?: CaptureWorkflowStringListOptions): string[] | undefined; export interface CaptureWorkflowDefinitionOptions { /** Allow an empty declaration for discovery; executable admission remains strict by default. */ allowEmptySteps?: boolean; } /** Validate and detach one workflow definition without constructing runtime resources. */ export declare function captureWorkflowDefinition(workflow: WorkflowDefinition, options?: Readonly): WorkflowDefinition; /** Validate and detach a definition batch atomically, including duplicate IDs. */ export declare function captureWorkflowDefinitions(workflows: readonly WorkflowDefinition[]): WorkflowDefinition[]; /** Capture nodes returned by a workflow or composite builder. */ export declare function captureWorkflowNodes(value: unknown, label: string, options?: Readonly<{ allowEmpty?: boolean; emptyElementName?: "node" | "step"; }>): WorkflowNode[]; /** Capture a dynamic map item array before identity expansion. */ export declare function captureWorkflowMapItems(value: unknown, label: string): unknown[]; //# sourceMappingURL=workflow-definition-snapshot.d.ts.map