import { nativeTransactionPaths, type NativeArchiveTransactionJournalV2, type NativeArchiveTransactionOperationV2 } from './native-transaction.js'; import type { NativeProjectPaths } from './native-types.js'; export interface NativeArchiveTransactionHooksV2 { afterPrepared?: (journal: NativeArchiveTransactionJournalV2) => void | Promise; afterOperation?: (operation: NativeArchiveTransactionOperationV2, completedCount: number) => void | Promise; beforeArchiveChangeMove?: (operation: NativeArchiveTransactionOperationV2) => void | Promise; afterFinalizationStarted?: (journal: NativeArchiveTransactionJournalV2) => void | Promise; afterProtectedCopySourceParentCaptured?: (kind: 'stage' | 'backup' | 'apply', ref: string) => void | Promise; afterArchiveTargetBound?: (phase: 'apply' | 'rollback', operation: NativeArchiveTransactionOperationV2, target: string) => void | Promise; afterArchiveTargetQuarantined?: (phase: 'apply' | 'rollback', operation: NativeArchiveTransactionOperationV2, quarantine: string) => void | Promise; beforeArchiveTargetInstall?: (phase: 'apply' | 'rollback', operation: NativeArchiveTransactionOperationV2, target: string) => void | Promise; afterArchiveTargetInstalled?: (phase: 'apply' | 'rollback', operation: NativeArchiveTransactionOperationV2, target: string) => void | Promise; } export declare function createNativeArchiveTransactionV2(paths: NativeProjectPaths, journal: NativeArchiveTransactionJournalV2): Promise; export declare function readNativeArchiveTransactionV2(paths: NativeProjectPaths, id: string): Promise; export declare function applyNativeArchiveTransactionV2(paths: NativeProjectPaths, journal: NativeArchiveTransactionJournalV2, hooks?: NativeArchiveTransactionHooksV2): Promise; export declare function rollbackNativeArchiveTransactionV2(paths: NativeProjectPaths, journal: NativeArchiveTransactionJournalV2, hooks?: NativeArchiveTransactionHooksV2): Promise; export declare function finalizeNativeArchiveTransactionV2(paths: NativeProjectPaths, journal: NativeArchiveTransactionJournalV2, event: 'archive-finalization-started' | 'archive-finalized' | 'commit'): Promise; export declare function nativeArchiveTransactionPaths(paths: NativeProjectPaths, id: string): ReturnType; //# sourceMappingURL=native-archive-transaction.d.ts.map