import { DatabaseConnection, QueryResult } from '../../driver/database-connection.js'; import { Driver, TransactionSettings } from '../../driver/driver.js'; import { CompiledQuery } from '../../query-compiler/compiled-query.js'; import { MysqlDialectConfig, MysqlPoolConnection } from './mysql-dialect-config.js'; declare const PRIVATE_RELEASE_METHOD: unique symbol; export declare class MysqlDriver implements Driver { #private; constructor(configOrPool: MysqlDialectConfig); /** * Initializes the driver. * * After calling this method the driver should be usable and `acquireConnection` etc. * methods should be callable. */ init(): Promise; /** * Acquires a new connection from the pool. */ acquireConnection(): Promise; /** * Begins a transaction. */ beginTransaction(connection: DatabaseConnection, settings: TransactionSettings): Promise; /** * Commits a transaction. */ commitTransaction(connection: DatabaseConnection): Promise; /** * Rolls back a transaction. */ rollbackTransaction(connection: DatabaseConnection): Promise; /** * Releases a connection back to the pool. */ releaseConnection(connection: MysqlConnection): Promise; /** * Destroys the driver and releases all resources. */ destroy(): Promise; } declare class MysqlConnection implements DatabaseConnection { #private; constructor(rawConnection: MysqlPoolConnection); executeQuery(compiledQuery: CompiledQuery): Promise>; streamQuery(compiledQuery: CompiledQuery, _chunkSize: number): AsyncIterableIterator>; [PRIVATE_RELEASE_METHOD](): void; } export {};