import type { PoolConnection } from 'mysql2/promise';
import { AbstractSqlQuerier } from 'nukak/querier';
import type { ExtraOptions } from 'nukak/type';
export declare class MySql2Querier extends AbstractSqlQuerier {
    readonly connect: () => Promise<PoolConnection>;
    readonly extra?: ExtraOptions;
    conn: PoolConnection;
    constructor(connect: () => Promise<PoolConnection>, extra?: ExtraOptions);
    internalAll<T>(query: string, values?: unknown[]): Promise<T[]>;
    internalRun(query: string, values?: unknown[]): Promise<{
        changes: any;
        ids: any[];
        firstId: any;
    }>;
    lazyConnect(): Promise<void>;
    internalRelease(): Promise<void>;
}
