import * as mysql from 'mysql';
export default class PromiseMySQLPool {
    private _pool;
    constructor(pool: mysql.Pool);
    query(query: mysql.Query | string | mysql.QueryOptions, values?: any): Promise<{
        results: any;
        fields: mysql.FieldInfo[];
    }>;
    select: <T = any>(query: mysql.Query | string | mysql.QueryOptions, values?: any) => Promise<{
        results: T[];
        fields: mysql.FieldInfo[];
    }>;
    insert: (query: mysql.Query | string | mysql.QueryOptions, values?: any) => Promise<{
        results: {
            affectedRows: number;
            insertId: number;
        };
    }>;
    update: (query: mysql.Query | string | mysql.QueryOptions, values?: any) => Promise<{
        results: {
            changedRows: number;
        };
    }>;
    delete: (query: mysql.Query | string | mysql.QueryOptions, values?: any) => Promise<{
        results: {
            affectedRows: number;
        };
    }>;
    end(): Promise<void>;
    on: mysql.Pool['on'];
}
