import { closeOpLog, openOpLog } from "./operation-log.js"; import { beginReceiptAttempt, finalizeReceiptAttempt, readReceiptAttemptState, resumePendingReceiptAttempt, supersedePendingReceiptAttempt, type ReceiptAttemptState } from "./receipt-repository.js"; import { type ReceiptV1 } from "./receipt-v1.js"; export type ReceiptAttemptWarningCode = "receipt-store-finalize-failed" | "receipt-store-close-failed"; export interface ReceiptAttemptSession { readonly operationId: string; readonly attemptId: string; readonly startedAt?: string; readonly priorTerminalStatus?: ReceiptV1["status"] | null; finalize(receipt: ReceiptV1): Promise; close?(): Promise; } export interface ReopenReceiptAttemptAdapterDependencies extends ReceiptAttemptAdapterDependencies { resume?: typeof resumePendingReceiptAttempt; } export interface SupersedeReceiptAttemptAdapterDependencies extends ReceiptAttemptAdapterDependencies { supersede?: typeof supersedePendingReceiptAttempt; } export declare function inspectReceiptAttempt(attemptId: string, dependencies?: Pick & { readState?: typeof readReceiptAttemptState; }): Promise; export declare function reopenReceiptAttempt(value: ReceiptV1, dependencies?: ReopenReceiptAttemptAdapterDependencies): Promise; export declare function supersedeReceiptAttempt(interruptedValue: ReceiptV1, freshValue: ReceiptV1, dependencies?: SupersedeReceiptAttemptAdapterDependencies): Promise; export type OpenReceiptAttemptResult = Readonly<{ kind: "ready"; session: ReceiptAttemptSession; }> | Readonly<{ kind: "unavailable"; warnings: readonly ReceiptAttemptWarningCode[]; }>; export interface ReceiptAttemptAdapterDependencies { open?: typeof openOpLog; close?: typeof closeOpLog; begin?: typeof beginReceiptAttempt; finalize?: typeof finalizeReceiptAttempt; } export declare function openReceiptAttempt(value: ReceiptV1, dependencies?: ReceiptAttemptAdapterDependencies): Promise; export declare function openReceiptAttemptForReplayPlan(value: ReceiptV1, dependencies?: ReceiptAttemptAdapterDependencies): Promise; //# sourceMappingURL=receipt-attempt.d.ts.map