import type { WorkerPool } from '../workers/pool.ts'; import type { ExecutionStrategy } from './execution-strategy.ts'; import type { OperationOutcome, WorkerOutboundMessage } from './types.ts'; import type { WorkerExecutionStrategyOptions } from './worker-execution-strategy-options.ts'; import { type WorkerTurnTimeoutResolverForTesting } from './worker-turn-watchdog.ts'; export declare class WorkerExecutionStrategy implements ExecutionStrategy { #private; constructor(pool: WorkerPool, options?: WorkerExecutionStrategyOptions); onMessage(handler: (message: WorkerOutboundMessage) => void | Promise): void; setWorkflowTurnTimeoutResolverForTesting(resolver: WorkerTurnTimeoutResolverForTesting): void; startWorkflow(parameters: { workflowId: string; workflowExecutionToken?: string; revision?: string; workflowType: string; input: unknown; checkpoint: ArrayBuffer; nestingDepth?: number; executionStateOwnerId?: string; startedAt?: number; sleepReferenceTime?: number; deadline?: number; headers?: [string, string][]; }): void; resumeWorkflow(parameters: { workflowId: string; checkpoint: ArrayBuffer; operationResult: OperationOutcome; }): void; cancelWorkflow(workflowId: string): void; [Symbol.dispose](): void; [Symbol.asyncDispose](): Promise; }