import { type VaultFileClassification, type VaultFilesInventory } from "@younndai/lyt-vault"; export type MutationPreviewOperation = "backfill" | "reconcile"; export type MutationReceiptLifecycle = "previewed" | "applying" | "completed" | "refused-before-write" | "partial"; export interface MutationPreviewCandidate { path: string; preimageSha256: string; plannedMutations: string[]; } export interface MutationPreviewPlan { schema: "lyt.mutation-preview"; version: 1; id: string; operation: MutationPreviewOperation; createdAt: string; expiresAt: string; vault: { rid: string; name: string; }; scope: string; push: boolean; ignorePolicy: { exists: boolean; sha256: string; bytesBase64: string; }; inventoryDigest: string; candidateCount: number; exclusionCount: number; exclusionCounts: Partial>; pendingRemovalCount: number; unindexedCount: number; reindexRequired: boolean; reindexScope: "vault" | null; candidates: MutationPreviewCandidate[]; } export interface MutationPreviewReceipt { plan: MutationPreviewPlan; seal: { algorithm: "sha256"; digest: string; }; lifecycle: { state: MutationReceiptLifecycle; startedAt: string | null; finishedAt: string | null; completedCandidates: string[]; untouchedCandidates: string[]; error: string | null; }; } export interface MutationApplySession { getReceipt(): MutationPreviewReceipt; inventory: VaultFilesInventory; completed: string[]; revalidateBeforeMutation(): Promise; markCandidateCompleted(path: string): void; markMutationStarted(): void; complete(): void; fail(error: unknown): void; } export declare function createMutationPreview(args: { operation: MutationPreviewOperation; vault: string; subtree?: string; push: boolean; now?: Date; }): Promise; export declare function prepareMutationApply(args: { operation: MutationPreviewOperation; vault: string; subtree?: string; push: boolean; receiptId: string; now?: Date; }): Promise; //# sourceMappingURL=mutation-preview-receipt.d.ts.map