import { openReceiptAttempt, inspectReceiptAttempt, reopenReceiptAttempt } from "@younndai/lyt-vault"; import { type UpdatePlanV1 } from "./update-plan.js"; export interface UpdateOperationJournalV1 { readonly schema_id: "lyt.update-operation"; readonly schema_version: Readonly<{ major: 1; minor: 0; }>; readonly plan: UpdatePlanV1; readonly status: "pending" | "completed"; readonly completed_boundaries: readonly Readonly<{ boundary_id: string; receipt_digest: string; }>[]; readonly active_attempt_id: string | null; readonly started_at: string; } export type UpdateOperationJournalInspectionV1 = Readonly<{ valid: true; status: "pending" | "completed"; journal: UpdateOperationJournalV1; }> | Readonly<{ valid: false; status: "invalid" | "missing"; journal: null; error_code: string; }>; export interface UpdateOperationHandleV1 { readonly plan: UpdatePlanV1; readonly alreadyCompleted: boolean; isBoundaryCompleted(boundaryId: string): boolean; finalizeCompleted(): Promise; recordReconciled(receiptDigest: string): Promise; } export interface UpdateOperationOptions { readonly root?: string; readonly now?: () => Date; readonly newAttemptId?: () => string; readonly receiptOpen?: typeof openReceiptAttempt; readonly receiptReopen?: typeof reopenReceiptAttempt; readonly receiptInspect?: typeof inspectReceiptAttempt; } export declare function defaultUpdateOperationRoot(home?: string): string; export declare function readUpdateOperationPlanV1(operationId: string, root?: string): UpdatePlanV1; export declare function inspectUpdateOperationJournalV1(operationId: string, root?: string): UpdateOperationJournalInspectionV1; export declare function beginUpdateOperationV1(value: unknown, options?: UpdateOperationOptions): Promise; //# sourceMappingURL=update-operation.d.ts.map