import { ITransaction } from './ITransaction'; import { IQueryResult } from './IQueryResult'; import { IDatabaseHealth } from './IDatabaseHealth'; /** * Abstract database adapter interface * All concrete database adapters MUST implement this interface */ export interface IDatabaseAdapter { /** * Connect to database * @throws ConnectionError if connection fails */ connect(): Promise; /** * Disconnect from database * @throws Error if disconnection fails */ disconnect(): Promise; /** * Check if database is connected * @returns true if connected */ isConnected(): boolean; /** * Begin a new transaction * @returns Transaction instance * @throws Error if not connected or transaction creation fails */ beginTransaction(): Promise; /** * Execute a query * @template T - Type of rows returned * @param sql - SQL query string * @param params - Query parameters * @returns Query result with rows and metadata * @throws QueryError if query fails */ query(sql: string, params?: any[]): Promise>; /** * Check database health * @returns Health status including connection state, latency, and version */ healthCheck(): Promise; } //# sourceMappingURL=IDatabaseAdapter.d.ts.map