import { SqlResult } from '../models/SqlResult'; /** A handle scoped to a single transaction. */ export interface DriverTransaction { query>(sql: string, params?: unknown[]): Promise>; execute(sql: string, params?: unknown[]): Promise; } /** * Engine-specific execution backend. Each implementation wraps one native driver * and normalizes its results into `SqlResult`. Construction is cheap; connections * open lazily on first use. */ export interface SqlDriver { query>(sql: string, params?: unknown[]): Promise>; execute(sql: string, params?: unknown[]): Promise; transaction(fn: (tx: DriverTransaction) => Promise): Promise; end(): Promise; }