import mysql from 'mysql2/promise';
import { DatasourceService } from '../../datasource.service';
import { QueryResult } from '../query-result';
import { QueryRunnerInterface } from '../query-runner.interface';
import { MySqlConnectionDriver } from './my-sql-connection.driver';
export declare class MySqlQueryRunner implements QueryRunnerInterface {
    readonly driver: MySqlConnectionDriver;
    readonly connection: DatasourceService;
    isReleased: boolean;
    isTransactionActive: boolean;
    /**
     * Real database connection from a connection pool used to perform queries.
     */
    protected databaseConnection?: mysql.PoolConnection;
    /**
     * Promise used to obtain a database connection from a pool for a first time.
     */
    protected databaseConnectionPromise: Promise<mysql.PoolConnection> | undefined;
    constructor(driver: MySqlConnectionDriver);
    connect(): Promise<mysql.PoolConnection>;
    query(query: string, parameters?: Array<unknown>): Promise<QueryResult>;
    release(): Promise<void>;
}
