import * as mysql from 'mysql';
export default class PromiseMyCluster {
    _cluster: mysql.PoolCluster;
    constructor(cluster: mysql.PoolCluster);
    /**
     * @param option 默认为master
     *               "all"：所有节点，该参数下只能进行读操作
     *               "master"：主节点，可以进行读写操作
     *               "slave"：从节点，只能进行读操作
     */
    query(query: mysql.Query | string | mysql.QueryOptions, values?: any, option?: 'all' | 'master' | 'slave'): Promise<{
        results: any;
        fields: mysql.FieldInfo[];
    }>;
    /**
     * @param option 默认为slave
     *               "all"：所有节点，该参数下只能进行读操作
     *               "master"：主节点，可以进行读写操作
     *               "slave"：从节点，只能进行读操作
     */
    select<T = any>(query: mysql.Query | string | mysql.QueryOptions, values?: any): Promise<{
        results: T[];
        fields: mysql.FieldInfo[];
    }>;
    /**
     * @param option 默认为slave
     *               "all"：所有节点，该参数下只能进行读操作
     *               "master"：主节点，可以进行读写操作
     *               "slave"：从节点，只能进行读操作
     */
    insert(query: mysql.Query | string | mysql.QueryOptions, values?: any): Promise<{
        results: {
            affectedRows: number;
            insertId: number;
        };
    }>;
    /**
     * @param option 默认为slave
     *               "all"：所有节点，该参数下只能进行读操作
     *               "master"：主节点，可以进行读写操作
     *               "slave"：从节点，只能进行读操作
     */
    update(query: mysql.Query | string | mysql.QueryOptions, values?: any): Promise<{
        results: {
            changedRows: number;
        };
    }>;
    /**
     * @param option 默认为slave
     *               "all"：所有节点，该参数下只能进行读操作
     *               "master"：主节点，可以进行读写操作
     *               "slave"：从节点，只能进行读操作
     */
    delete(query: mysql.Query | string | mysql.QueryOptions, values?: any): Promise<{
        results: {
            affectedRows: number;
        };
    }>;
    end(): Promise<void>;
    on: mysql.PoolCluster['on'];
}
