import type { Adapter as AdapterInterface, AdapterConstructorParams } from 'east';
import { Connection } from 'mysql2/promise';
export interface MySQLParams {
    host?: string;
    port?: number;
    user?: string;
    password?: string;
    migrationDatabase?: string;
    migrationTable?: string;
    createDbOnConnect?: boolean;
}
export interface Params extends AdapterConstructorParams<MySQLClient> {
    mysql?: MySQLParams;
}
export interface MySQLClient {
    db: Connection;
}
export declare class Adapter implements AdapterInterface<MySQLClient> {
    _connection?: Connection;
    _mysqlParams: MySQLParams;
    constructor(params: Params);
    connect(): Promise<MySQLClient>;
    disconnect(): Promise<void>;
    getTemplatePath(sourceMigrationExtension: string): string;
    getExecutedMigrationNames(): Promise<string[]>;
    markExecuted(migrationName: string): Promise<void>;
    unmarkExecuted(migrationName: string): Promise<void>;
    private changeToMigrationDatabase;
    private toNumber;
}
export default Adapter;
