import type { ToSql, SelectData, WithValuesData } from "./SqlBuilder";
import { TypeAdapter } from "../TypeAdapter";
import { AbstractSqlBuilder } from "./AbstractSqlBuilder";
import { Column } from "../utils/Column";
import { ValueType } from "../expressions/values";
export declare class PostgreSqlSqlBuilder extends AbstractSqlBuilder {
    postgreSql: true;
    constructor();
    _isReservedKeyword(word: string): boolean;
    _appendColumnAlias(name: string, params: any[]): string;
    _buildWithValues(withValues: WithValuesData, params: any[]): string;
    _buildSelectLimitOffset(query: SelectData, params: any[]): string;
    _appendCustomBooleanRemapForColumnIfRequired(column: Column, value: any, params: any[]): string | null;
    _asDouble(params: any[], valueSource: ToSql): string;
    _asString(params: any[], valueSource: ToSql): string;
    _asNullValue(_params: any[], _columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _divide(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _equalsInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notEqualsInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _likeInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notLikeInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _startsWithInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notStartsWithInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _endsWithInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notEndsWithInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _containsInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notContainsInsensitive(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _in(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notIn(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _stringConcat(params: any[], separator: string | undefined, value: any): string;
    _stringConcatDistinct(params: any[], separator: string | undefined, value: any): string;
    _getTime(params: any[], valueSource: ToSql): string;
    _getSeconds(params: any[], valueSource: ToSql): string;
    _getMonth(params: any[], valueSource: ToSql): string;
    _getMilliseconds(params: any[], valueSource: ToSql): string;
}
