import { TOrchestrator } from "../types/orchestrator.type"; import { TInput } from "../types/input.type"; import { OrchestrationState } from "../orchestration/orchestration-state"; import { InMemoryOrchestrationBackend } from "./in-memory-backend"; /** * Client for scheduling and managing orchestrations in the in-memory backend. * * This client provides a similar API to TaskHubGrpcClient but operates * entirely in-memory for testing purposes. */ export declare class TestOrchestrationClient { private readonly backend; constructor(backend: InMemoryOrchestrationBackend); /** * Schedules a new orchestration. */ scheduleNewOrchestration(orchestrator: TOrchestrator | string, input?: TInput, instanceId?: string, startAt?: Date): Promise; /** * Gets the current state of an orchestration. */ getOrchestrationState(instanceId: string, fetchPayloads?: boolean): Promise; /** * Waits for an orchestration to start running. */ waitForOrchestrationStart(instanceId: string, fetchPayloads?: boolean, timeout?: number): Promise; /** * Waits for an orchestration to complete. */ waitForOrchestrationCompletion(instanceId: string, fetchPayloads?: boolean, timeout?: number): Promise; /** * Raises an event to an orchestration. */ raiseOrchestrationEvent(instanceId: string, eventName: string, data?: any): Promise; /** * Terminates an orchestration. */ terminateOrchestration(instanceId: string, output?: any): Promise; /** * Suspends an orchestration. */ suspendOrchestration(instanceId: string): Promise; /** * Resumes a suspended orchestration. */ resumeOrchestration(instanceId: string): Promise; /** * Purges a completed orchestration from storage. */ purgeOrchestration(instanceId: string): Promise<{ deletedInstanceCount: number; }>; /** * Rewinds a failed orchestration so it re-runs from the point of failure. * * @param instanceId The instance to rewind. * @param reason Optional human-readable reason for the rewind. */ rewindOrchestration(instanceId: string, reason?: string): Promise; /** * Stops the client. No-op for in-memory backend. */ stop(): Promise; private isTerminalStatus; private toOrchestrationState; }