///
///
import { Readable } from 'stream';
import { BaseConnectionPool, PoolOptions } from '@databases/shared';
import { SQLQuery } from '@databases/sql';
import Connection from './Connection';
import Transaction from './Transaction';
import { ConnectionPool as IConnectionPool } from './types/Queryable';
import EventHandlers from './types/EventHandlers';
import MySqlDriver from './MySqlDriver';
interface MySqlConnectionOptions {
uri: string;
multipleStatements?: boolean;
timezone: 'Z' | 'local';
typeCast?: (field: {
type: string;
length: number;
db: string;
table: string;
name: string;
string(): string | null;
buffer(): Buffer | null;
geometry(): unknown;
}, next: () => any) => any;
}
export default class ConnectionPool extends BaseConnectionPool implements IConnectionPool {
readonly sql: import("@databases/sql").SQL;
constructor(srcConfig: MySqlConnectionOptions, poolOptions: Omit, 'openConnection' | 'closeConnection'>, handlers: EventHandlers, onError: (err: Error) => void, acquireLockTimeoutMilliseconds: number, serverTimeZone: 'local' | 'utc' | undefined);
queryNodeStream(query: SQLQuery, options?: {
highWaterMark?: number;
}): Readable;
}
export {};