import { BaseInstaller } from './base';
import { PoolConnection } from 'mysql2';
import { MysqlConfigs, MysqlTarget } from '../types';
import { Cluster } from '../types';
import { Client, Config } from '../lang';
export declare class MysqlInstaller extends BaseInstaller {
    private readonly configs;
    /**
     *
     * @param configs
     * @param target mysql
     * @param debug debug model
     */
    constructor(configs: Config | MysqlConfigs<Config>, target: MysqlTarget | null, debug?: boolean | Cluster | string);
    load(): Promise<MysqlInstaller>;
    install(): Promise<void>;
    querySql(connect: PoolConnection, sql: any, params: any): Promise<unknown>;
    /**
     * @private
     * @param name
     */
    _matchName(name: string): string;
    createClient(options: Config, name: string): Promise<Client>;
}
