import { type NativeProtectedFileHooks } from './native-protected-file.js'; import type { NativeProjectPaths, NativeTransactionEvent, NativeTransactionHooks, NativeTransactionJournal, NativeTransactionStatus } from './native-types.js'; export interface NativeTransactionReadOptions { hooks?: NativeProtectedFileHooks; } export interface NativeArchiveTransactionOperationV2 { id: string; type: 'write' | 'remove' | 'move'; source?: string; target: string; staged?: string; backup?: string; expectedSourceHash?: string; expectedTargetHash: string | null; stagedHash?: string; } export interface NativeArchiveTransactionJournalV2 { schema: 'comet.native.transaction.v2'; id: string; kind: 'archive'; status: NativeTransactionStatus; change: string; createdAt: string; preflightHash: string; operations: NativeArchiveTransactionOperationV2[]; } export declare function parseNativeArchiveTransactionJournalV2(value: unknown): NativeArchiveTransactionJournalV2; export declare function nativeTransactionPaths(paths: NativeProjectPaths, id: string): { directory: string; journal: string; events: string; staged: string; backups: string; }; export declare function resolveNativeTransactionPaths(paths: NativeProjectPaths, id: string): Promise>; export declare function appendNativeTransactionEvent(paths: NativeProjectPaths, id: string, type: NativeTransactionEvent['type'], operationId?: string): Promise; export declare function createNativeTransaction(paths: NativeProjectPaths, journal: NativeTransactionJournal): Promise; export declare function readNativeTransaction(paths: NativeProjectPaths, id: string, options?: NativeTransactionReadOptions): Promise; export declare function readNativeTransactionEvents(paths: NativeProjectPaths, id: string, options?: NativeTransactionReadOptions): Promise; export declare function setNativeTransactionStatus(paths: NativeProjectPaths, journal: NativeTransactionJournal, status: NativeTransactionStatus): Promise; export declare function applyNativeTransaction(paths: NativeProjectPaths, journal: NativeTransactionJournal, hooks?: NativeTransactionHooks): Promise; export declare function rollbackNativeTransaction(paths: NativeProjectPaths, journal: NativeTransactionJournal): Promise; export declare function finalizeNativeTransaction(paths: NativeProjectPaths, journal: NativeTransactionJournal, event: 'archive-finalization-started' | 'archive-finalized' | 'commit'): Promise; export declare function nativeRootRef(paths: NativeProjectPaths, target: string): string; //# sourceMappingURL=native-transaction.d.ts.map