import { type HumanReviewOptions, type HumanReviewResult, type ReviewRequest } from '../review/index.ts'; import type { OperationOutcome, ReviewListEntry, ReviewListFilter, SubmitReviewOptions } from '../types.ts'; import type { EngineInternals } from './internals.ts'; type ReviewOperationOutcome = { ok: true; value: HumanReviewResult; } | { ok: false; error: Error; }; export type SubmitReviewCallbacks = { dispatchEvent: (event: Event) => boolean; }; export type ReviewOperationCallbacks = { dispatchEvent: (event: Event) => boolean; failWorkflow: (workflowId: string, error: Error) => Promise; feedOperationResult: (workflowId: string, result: OperationOutcome) => void; ensureTerminalCleanupTracked: (workflowId: string) => Promise; }; /** List pending reviews by default, or completed reviews when explicitly requested. */ export declare function listReviews(internals: EngineInternals, filter?: ReviewListFilter): Promise; /** Retrieve a specific review by workflowId and reviewId. */ export declare function getReview(internals: EngineInternals, workflowId: string, reviewId: string): Promise; export declare function submitReview(internals: EngineInternals, reviewId: string, options: SubmitReviewOptions, callbacks: SubmitReviewCallbacks): Promise; export declare function resolveReviewDecision(resolve: (result: ReviewOperationOutcome) => void, decision: HumanReviewResult): void; export declare function handleReviewEscalationTimer(internals: EngineInternals, workflowId: string, reviewId: string, waiterKey: string, reviewRequest: ReviewRequest, options: HumanReviewOptions, resolve: (result: ReviewOperationOutcome) => void, entry: { id: string; workflowId: string; }, callbacks: Pick): Promise; export declare function sendReviewWebhook(internals: EngineInternals, workflowId: string, reviewRequest: ReviewRequest, webhookUrl: string, webhookAbort: AbortController): Promise; /** Remove all pending review entries from storage for a given workflow. */ export declare function cleanupReviews(internals: EngineInternals, workflowId: string): Promise; export declare function processReviewOperation(internals: EngineInternals, workflowId: string, options: HumanReviewOptions, callbacks: ReviewOperationCallbacks): Promise; export {};