import type { WorkflowRunTerminalStatus } from './workflowTerminalStatus.js'; import type { WorkflowTerminalPublicationPayload } from './workflowTerminalPayload.js'; export interface WorkflowRunExecutionHandle { run(operation: (control: WorkflowRunExecutionControl) => Promise): Promise; finish(outcome: WorkflowRunTerminalOutcome, payload: WorkflowTerminalPublicationPayload): Promise; } export interface WorkflowRunExecutionControl { readonly signal: AbortSignal; abort(reason?: unknown): void; } export interface WorkflowRunTerminalOutcome { readonly status: WorkflowRunTerminalStatus; readonly iteration: number; readonly reason?: string; } export interface RunFinalization { readonly receipt?: TerminalCommitReceipt; readonly issues: readonly RunFinalizationIssue[]; } export interface RunCommitFinalization extends RunFinalization { readonly receipt: TerminalCommitReceipt; } export interface TerminalCommitReceipt { readonly runId: string; readonly publicationId: string; readonly runStatus: WorkflowRunTerminalStatus; readonly iteration: number; readonly payloadSha256: string; } export type RunFinalizationIssue = RunProjectionError | RunCleanupError | RunLiveDeliveryError; export declare class RunProjectionError extends Error { readonly stage: 'publication' | 'meta' | 'session' | 'trace'; constructor(stage: RunProjectionError['stage'], error: unknown); } export declare class RunCleanupError extends Error { constructor(error: unknown); } export declare class RunLiveDeliveryError extends Error { constructor(error: unknown); } export declare class WorkflowRunExecutionControlError extends AggregateError { constructor(primaryError: unknown, operationError: unknown); } //# sourceMappingURL=workflowRunExecution.d.ts.map