import type { ContextOperationRequest } from '../context.ts'; import type { EngineInternals } from './internals.ts'; import type { OperationWithCallerStack } from './operations-router.ts'; import { SpeculativeExecutionState } from './speculative-execution-state.ts'; type SpeculateOperation = Extract; type SpeculativeOperationGenerator = Generator | AsyncGenerator; export type SpeculateOperationCallbacks = { runOperationWithResult: (workflowId: string, operation: OperationWithCallerStack, execute: () => Promise) => Promise; executeSubOperation: (workflowId: string, operation: ContextOperationRequest, signal?: AbortSignal, speculativeState?: SpeculativeExecutionState) => Promise; }; export declare function processSpeculateOperation(internals: EngineInternals, workflowId: string, operation: SpeculateOperation, callbacks: SpeculateOperationCallbacks): Promise; export declare function executeSpeculativeBranch(internals: EngineInternals, workflowId: string, operation: SpeculateOperation, callbacks: Pick): Promise; export declare function driveSpeculativeGenerator(workflowId: string, generator: SpeculativeOperationGenerator, speculativeState: SpeculativeExecutionState, callbacks: Pick, observeChild?: (operation: ContextOperationRequest, index: number, error?: unknown) => void): Promise; export {};