import { Transaction } from 'sequelize'; import { DatabaseOperationContext } from '../interfaces/database-retry.interface'; export interface TransactionHookManager { onTransactionStart?: (transaction: Transaction, attempt: number) => void; onTransactionCommit?: (transaction: Transaction, attempt: number) => Promise; onTransactionRollback?: (transaction: Transaction, attempt: number, error: Error) => Promise; onTransactionFailed?: (lastError: Error, totalAttempts: number) => Promise; } export declare class TransactionCompatibilityHelper { private static hookManagers; static registerHookManager(sequelize: any, manager: TransactionHookManager): void; static createTransactionWithHooks(sequelize: any, operation: (transaction: Transaction) => Promise, context: DatabaseOperationContext, attemptNumber: number): Promise; static notifyTransactionFailed(sequelize: any, error: Error, totalAttempts: number): Promise; static createLoggingHookManager(): TransactionHookManager; static initializeLoggingCompatibility(sequelize: any): void; }