import { AbstractSqlDialect } from 'nukak/dialect';
import { type FieldKey, type FieldOptions, type NamingStrategy, type QueryComparisonOptions, type QueryConflictPaths, type QueryContext, type QueryOptions, type QueryWhereFieldOperatorMap, type QueryWhereMap, type Type } from 'nukak/type';
export declare class PostgresDialect extends AbstractSqlDialect {
    constructor(namingStrategy?: NamingStrategy);
    addValue(values: unknown[], value: unknown): string;
    placeholder(index: number): string;
    insert<E>(ctx: QueryContext, entity: Type<E>, payload: E | E[], opts?: QueryOptions): void;
    upsert<E>(ctx: QueryContext, entity: Type<E>, conflictPaths: QueryConflictPaths<E>, payload: E): void;
    compare<E, K extends keyof QueryWhereMap<E>>(ctx: QueryContext, entity: Type<E>, key: K, val: QueryWhereMap<E>[K], opts?: QueryComparisonOptions): void;
    compareFieldOperator<E, K extends keyof QueryWhereFieldOperatorMap<E>>(ctx: QueryContext, entity: Type<E>, key: FieldKey<E>, op: K, val: QueryWhereFieldOperatorMap<E>[K], opts?: QueryOptions): void;
    protected formatPersistableValue<E>(ctx: QueryContext, field: FieldOptions, value: unknown): void;
    escape(value: unknown): string;
}
