import type { RequestContext } from '../../di/index.js'; import type { PubSub } from '../../events/pubsub.js'; import type { ObservabilityContext } from '../../observability/index.js'; import type { DefaultExecutionEngine } from '../default.js'; import type { ConditionFunction, LoopConditionFunction, Step } from '../step.js'; import type { DefaultEngineType, ExecutionContext, OutputWriter, RestartExecutionParams, SerializedStepFlowEntry, StepFlowEntry, StepResult, TimeTravelExecutionParams } from '../types.js'; export interface ExecuteParallelParams extends ObservabilityContext { workflowId: string; runId: string; resourceId?: string; entry: { type: 'parallel'; steps: { type: 'step'; step: Step; }[]; }; serializedStepGraph: SerializedStepFlowEntry[]; prevStep: StepFlowEntry; stepResults: Record>; restart?: RestartExecutionParams; timeTravel?: TimeTravelExecutionParams; resume?: { steps: string[]; stepResults: Record>; resumePayload: any; resumePath: number[]; }; executionContext: ExecutionContext; pubsub: PubSub; abortController: AbortController; requestContext: RequestContext; outputWriter?: OutputWriter; disableScorers?: boolean; perStep?: boolean; } export declare function executeParallel(engine: DefaultExecutionEngine, params: ExecuteParallelParams): Promise>; export interface ExecuteConditionalParams extends ObservabilityContext { workflowId: string; runId: string; resourceId?: string; serializedStepGraph: SerializedStepFlowEntry[]; entry: { type: 'conditional'; steps: { type: 'step'; step: Step; }[]; conditions: ConditionFunction[]; }; prevOutput: any; stepResults: Record>; resume?: { steps: string[]; stepResults: Record>; resumePayload: any; resumePath: number[]; }; restart?: RestartExecutionParams; timeTravel?: TimeTravelExecutionParams; executionContext: ExecutionContext; pubsub: PubSub; abortController: AbortController; requestContext: RequestContext; outputWriter?: OutputWriter; disableScorers?: boolean; perStep?: boolean; } export declare function executeConditional(engine: DefaultExecutionEngine, params: ExecuteConditionalParams): Promise>; export interface ExecuteLoopParams extends ObservabilityContext { workflowId: string; runId: string; resourceId?: string; entry: { type: 'loop'; step: Step; condition: LoopConditionFunction; loopType: 'dowhile' | 'dountil'; }; prevStep: StepFlowEntry; prevOutput: any; stepResults: Record>; restart?: RestartExecutionParams; timeTravel?: TimeTravelExecutionParams; resume?: { steps: string[]; stepResults: Record>; resumePayload: any; resumePath: number[]; }; executionContext: ExecutionContext; pubsub: PubSub; abortController: AbortController; requestContext: RequestContext; outputWriter?: OutputWriter; disableScorers?: boolean; serializedStepGraph: SerializedStepFlowEntry[]; perStep?: boolean; } export declare function executeLoop(engine: DefaultExecutionEngine, params: ExecuteLoopParams): Promise>; export interface ExecuteForeachParams extends ObservabilityContext { workflowId: string; runId: string; resourceId?: string; entry: { type: 'foreach'; step: Step; opts: { concurrency: number; }; }; prevStep: StepFlowEntry; prevOutput: any; stepResults: Record>; restart?: RestartExecutionParams; timeTravel?: TimeTravelExecutionParams; resume?: { steps: string[]; stepResults: Record>; resumePayload: any; resumePath: number[]; forEachIndex?: number; }; executionContext: ExecutionContext; pubsub: PubSub; abortController: AbortController; requestContext: RequestContext; outputWriter?: OutputWriter; disableScorers?: boolean; serializedStepGraph: SerializedStepFlowEntry[]; perStep?: boolean; } export declare function executeForeach(engine: DefaultExecutionEngine, params: ExecuteForeachParams): Promise>; //# sourceMappingURL=control-flow.d.ts.map