import type { WorkflowCompositionSnapshot, WorkflowDefinition, WorkflowExitDefinition, WorkflowIncludeDefinition, WorkflowMountedSource, WorkflowNodeContext, WorkflowSource } from "./types.js"; export type WorkflowScopeMetadata = { path: string; workflowName: string; maxSteps?: number; authoredNodes: Record; childMounts: Record; }; export type WorkflowEntryMetadata = { mountPath: string; mountName: string; parentPath: string; workflowName: string; input: WorkflowIncludeDefinition["input"]; normalizeInput?: WorkflowDefinition["input"]; }; export type WorkflowExitMetadata = { nodeId: string; mountPath: string; mountName: string; parentPath: string; exitName: string; fromNode: string; validate?: WorkflowExitDefinition["validate"]; }; export type WorkflowCompositionMetadata = { snapshot: WorkflowCompositionSnapshot; scopes: Record; entries: Record; exits: Record; sources: WorkflowMountedSource[]; }; export type WorkflowCompositionSourceMap = Map, WorkflowSource>; export type CompileWorkflowOptions = { rootSource?: WorkflowSource; sourceMap?: WorkflowCompositionSourceMap; }; export declare function isCompiledWorkflow(workflow: WorkflowDefinition): boolean; export declare function compositionMetadata(workflow: WorkflowDefinition): WorkflowCompositionMetadata | undefined; /** * Compile direct includes into one qualified graph. Dynamic string references * must be resolved to direct definitions before this function is called. */ export declare function compileWorkflowDefinition>(workflow: TWorkflow, options?: CompileWorkflowOptions): TWorkflow; export declare function projectWorkflowContext(context: WorkflowNodeContext, scopePath: string, scopes: Record, _entries: Record, exits: Record): WorkflowNodeContext;