import { type BeginTransactionInput, type RollbackHooks, type RollbackResult, type TransactionRecord, type TransactionTarget, type TransactionValidationGate, type TransactionalCreateHooks, type TransactionalCreateResult, type TransactionalDeleteHooks, type TransactionalDeleteResult, type TransactionalModifyHooks, type TransactionalModifyResult } from './model.js'; type TransactionErrorCode = 'TRANSACTION_ACTIVE' | 'TRANSACTION_NOT_FOUND' | 'TRANSACTION_NOT_ACTIVE' | 'TRANSACTION_INVALID_STATE' | 'TRANSACTION_OPERATION_LIMIT' | 'TRANSACTION_SNAPSHOT_TOO_LARGE' | 'TRANSACTION_VALIDATION_FAILED' | 'TRANSACTION_ROLLBACK_FAILED' | 'TRANSACTION_OPERATION_FAILED'; export declare class TransactionError extends Error { readonly code: TransactionErrorCode; readonly details?: Record | undefined; constructor(code: TransactionErrorCode, message: string, details?: Record | undefined); } export declare class TransactionManager { private readonly transactions; private readonly activeByDocument; begin(input: BeginTransactionInput): TransactionRecord; get(transactionId: string): TransactionRecord; private mutable; private assertActive; private assertSnapshotSize; private reserveOperation; private failTransaction; private compensateModify; runModify(transactionId: string, targetId: string, hooks: TransactionalModifyHooks, targetType?: TransactionTarget['type']): Promise>; private reconcileCreateFailure; private compensateCreate; private recordFailedOperation; runCreate(transactionId: string, targetHint: string, hooks: TransactionalCreateHooks): Promise>; private compensateDelete; runDelete(transactionId: string, targetId: string, hooks: TransactionalDeleteHooks): Promise>; validate(transactionId: string, gates: TransactionValidationGate[]): Promise; commit(transactionId: string): TransactionRecord; private rollbackCandidates; private verifyRollback; private rollbackOperation; private finalizeRollback; rollback(transactionId: string, hooks: RollbackHooks): Promise; private expireStaleTransactions; clear(): void; } export declare function getGlobalTransactionManager(): TransactionManager; export declare function resetGlobalTransactionManagerForTests(): TransactionManager; export {};