import { Database } from './Database';
import { MySQLConnection } from './MySQLConnection';
import * as MySQL from 'mysql';
import { IDatabasePosition } from './IDatabasePosition';
export declare class MySQLDatabase extends Database<MySQL.PoolConfig, MySQL.PoolConnection> {
    private $cluster;
    constructor();
    escape(value: any): string;
    static escape(value: any): string;
    protected _addNode(nodeID: string, config: MySQL.PoolConfig): void;
    protected _removeNode(nodeID: string): void;
    protected _destroy(): Promise<void>;
    private $getConnectionFromPool;
    protected _getConnection(query: string, requireWriteAccess: boolean, position?: IDatabasePosition): Promise<MySQLConnection>;
}
