import { ReferenceResolver } from './reference-resolver'; import { SafeExpressionEvaluator } from './expression-evaluator/safe-evaluator'; import { DependencyResolver } from './dependency-resolver'; import { Flow, JsonRpcHandler } from './types'; import { Logger } from './util/logger'; import { FlowExecutorEvents, FlowEventOptions } from './util/flow-executor-events'; import { RetryPolicy } from './errors/recovery'; /** * Default retry policy */ export declare const DEFAULT_RETRY_POLICY: RetryPolicy; /** * Options for the FlowExecutor */ export interface FlowExecutorOptions { /** Logger instance to use */ logger?: Logger; /** Event emitter options */ eventOptions?: Partial; /** Retry policy for request steps */ retryPolicy?: RetryPolicy; } /** * Main executor for JSON-RPC flows */ export declare class FlowExecutor { private flow; private jsonRpcHandler; dependencyResolver: DependencyResolver; referenceResolver: ReferenceResolver; expressionEvaluator: SafeExpressionEvaluator; events: FlowExecutorEvents; private context; private stepResults; private executionContext; private stepExecutors; private logger; private retryPolicy; private policyResolver; private globalAbortController; constructor(flow: Flow, jsonRpcHandler: JsonRpcHandler, loggerOrOptions?: Logger | FlowExecutorOptions); /** * Create a RequestStepExecutor with the current error handling configuration */ private createRequestStepExecutor; /** * Update event emitter options */ updateEventOptions(options: Partial): void; /** * Execute the flow and return all step results */ execute(options?: { signal?: AbortSignal; }): Promise>; /** * Execute a single step using the appropriate executor */ private executeStep; /** * Find the appropriate executor for a step */ private findExecutor; /** * Check if a step result or any nested step result indicates a stop */ private checkForStopResult; }