import { IQueryResult } from './IQueryResult'; /** * Transaction interface for ACID operations */ export interface ITransaction { /** Unique transaction identifier */ id: string; /** * Execute query within transaction * @template T - Type of rows returned * @param sql - SQL query string * @param params - Query parameters * @returns Query result */ query(sql: string, params?: any[]): Promise>; /** * Commit transaction changes * @throws Error if transaction is not active */ commit(): Promise; /** * Rollback transaction changes * @throws Error if transaction is not active */ rollback(): Promise; /** * Check if transaction is active * @returns true if transaction is active */ isActive(): boolean; /** * Create a savepoint within the transaction * @param name - Savepoint name * @throws Error if transaction is not active */ savepoint?(name: string): Promise; /** * Rollback to a specific savepoint * @param name - Savepoint name * @throws Error if transaction is not active */ rollbackToSavepoint?(name: string): Promise; /** * Release a savepoint * @param name - Savepoint name * @throws Error if transaction is not active */ releaseSavepoint?(name: string): Promise; } //# sourceMappingURL=ITransaction.d.ts.map