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