export type SqlDialectName = "mysql" | "postgresql";
export interface SqlDialect {
    name: SqlDialectName;
    quoteIdentifier(identifier: string): string;
    tableReference(table: string, alias?: string): string;
    defaultLimit(): string;
    pagination(limit: number, page: number): string;
    selectFrom(table: string): string;
    updateTable(table: string): string;
    deleteFrom(table: string, hasJoin: boolean): string;
    insertInto(verb: string, table: string): string;
    columnList(columns: string[]): string;
    assignmentColumn(column: string): string;
    upsertUpdateClause(columns: string[], conflictColumns?: string[]): string;
    insertReturningClause(): string;
    indexHintClause(kind: string, indexes: string[]): string;
    formatDerivedTableAlias(alias: string): string;
    formatJoinedTable(table: string, alias?: string, hintClause?: string): string;
    positionalPlaceholder(position: number): string;
}
export declare const mysqlDialect: SqlDialect;
export declare const postgresqlDialect: SqlDialect;
export declare const resolveSqlDialect: (dialect?: SqlDialectName | SqlDialect) => SqlDialect;
