/** * Transaction Manager * * Manages distributed transactions with ACID-like semantics */ import type { TransactionConfig, TransactionContext, TransactionOperation, TransactionResult, TransactionStats, TransactionState, TransactionManagerConfig, TransactionCallbacks } from './types.js'; /** * Transaction Manager */ export declare class TransactionManager { private config; private transactions; private stats; private cleanupTimer?; private logger; private metrics; private transactionCounter; constructor(config?: TransactionManagerConfig); /** * Initialize transaction manager */ initialize(): Promise; /** * Begin a new transaction */ begin(config?: TransactionConfig, callbacks?: TransactionCallbacks): Promise; /** * Get transaction context */ getTransaction(transactionId: string): TransactionContext | undefined; /** * Commit a transaction */ commit(transactionId: string, callbacks?: TransactionCallbacks): Promise; /** * Rollback a transaction */ rollback(transactionId: string, callbacks?: TransactionCallbacks): Promise; /** * Get transaction statistics */ getStats(): TransactionStats; /** * Destroy transaction manager */ destroy(): Promise; /** * Add operation to transaction */ addOperation(context: TransactionContext, operation: TransactionOperation): void; /** * Execute an operation */ private executeOperation; /** * Handle version conflict */ private handleConflict; /** * Generate transaction ID */ private generateTransactionId; /** * Start cleanup timer for expired transactions */ private startCleanupTimer; /** * Cleanup expired transactions */ private cleanupExpiredTransactions; /** * Update average statistics */ private updateAverages; } /** * Transaction class for fluent API */ export declare class Transaction { private manager; private context; private callbacks?; private savepoints; constructor(manager: TransactionManager, context: TransactionContext, callbacks?: TransactionCallbacks); /** * Get transaction ID */ getId(): string; /** * Get transaction state */ getState(): TransactionState; /** * Read a document */ read(index: string, id: string): Promise; /** * Create a document */ create(index: string, id: string, document: T): Promise; /** * Update a document */ update(index: string, id: string, document: Partial): Promise; /** * Delete a document */ delete(index: string, id: string): Promise; /** * Create a savepoint */ savepoint(name: string): void; /** * Rollback to savepoint */ rollbackTo(name: string): void; /** * Commit the transaction */ commit(): Promise; /** * Rollback the transaction */ rollback(): Promise; } /** * Create a transaction manager */ export declare function createTransactionManager(config?: TransactionManagerConfig): TransactionManager;