import { PoolOptions } from 'mysql2/promise';
import type { DatabaseDriver, DriverConnection } from '../driver';
export interface MySQLPoolLike {
    getConnection(): Promise<MySQLConnectionLike>;
    end(): Promise<void>;
}
export interface MySQLConnectionLike {
    query<T = unknown>(sql: string, values?: unknown[]): Promise<[T, unknown]>;
    execute<T = unknown>(sql: string, values?: unknown[]): Promise<[T, unknown]>;
    release(): void | Promise<void>;
}
export declare class MySQLDriver implements DatabaseDriver {
    readonly dialect: 'mysql';
    private pool;
    constructor(configOrPool: PoolOptions | MySQLPoolLike);
    connect(): Promise<void>;
    close(): Promise<void>;
    acquire(): Promise<DriverConnection>;
}
//# sourceMappingURL=mysql.d.ts.map