import type { IDialect, DialectType, ConnectionConfig, FieldDef } from '../core/types.js';
import { AbstractSqlDialect } from './abstract-sql.dialect.js';
export declare class MySQLDialect extends AbstractSqlDialect {
    readonly dialectType: DialectType;
    protected pool: unknown;
    quoteIdentifier(name: string): string;
    getPlaceholder(_index: number): string;
    fieldToSqlType(field: FieldDef): string;
    getIdColumnType(): string;
    getTableListQuery(): string;
    protected supportsIfNotExists(): boolean;
    protected supportsReturning(): boolean;
    protected getCreateIndexPrefix(indexName: string, unique: boolean): string;
    protected executeIndexStatement(stmt: string): Promise<void>;
    protected serializeDate(value: unknown): unknown;
    protected serializeBoolean(v: boolean): unknown;
    protected deserializeBoolean(v: unknown): boolean;
    doConnect(config: ConnectionConfig): Promise<void>;
    doDisconnect(): Promise<void>;
    doTestConnection(): Promise<boolean>;
    doExecuteQuery<T>(sql: string, params: unknown[]): Promise<T[]>;
    doExecuteRun(sql: string, params: unknown[]): Promise<{
        changes: number;
    }>;
    protected getDialectLabel(): string;
}
export declare function createDialect(): IDialect;
