import { ToSql, InsertData, CompoundOperator, SelectData, QueryColumns, WithSelectData, OrderByEntry } from "./SqlBuilder";
import { TypeAdapter } from "../TypeAdapter";
import { AnyValueSource, __AggregatedArrayColumns, ValueType } from "../expressions/values";
import { AbstractSqlBuilder } from "./AbstractSqlBuilder";
import { Column } from "../utils/Column";
export declare class OracleSqlBuilder extends AbstractSqlBuilder {
    oracle: true;
    constructor();
    _insertSupportWith: boolean;
    _getUuidStrategy(): 'string' | 'custom-functions';
    _isReservedKeyword(word: string): boolean;
    _nextSequenceValue(_params: any[], sequenceName: string): string;
    _currentSequenceValue(_params: any[], sequenceName: string): string;
    _fromNoTable(): string;
    _supportTableAliasWithAs: boolean;
    _trueValue: string;
    _falseValue: string;
    _trueValueForCondition: string;
    _falseValueForCondition: string;
    _nullValueForCondition: string;
    _appendSql(value: ToSql | AnyValueSource, params: any[]): string;
    _appendConditionSql(value: ToSql | AnyValueSource, params: any[]): string;
    _appendConditionParam(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast: boolean): string;
    _appendColumnName(column: Column, params: any[]): string;
    _appendColumnNameForCondition(column: Column, params: any[]): string;
    _inlineSelectAsValueForCondition(query: SelectData, params: any[]): string;
    _appendCustomBooleanRemapForColumnIfRequired(column: Column, value: any, params: any[]): string | null;
    _appendWithColumns(withData: WithSelectData, params: any[]): string;
    _appendWithKeyword(_recursive: boolean): string;
    _appendColumnAlias(name: string, params: any[]): string;
    _appendParam(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast: boolean): string;
    _appendColumnValue(value: AnyValueSource, params: any[], isOutermostQuery: boolean): string;
    _asString(params: any[], valueSource: ToSql): string;
    _appendCompoundOperator(compoundOperator: CompoundOperator, _params: any[]): string;
    _buildSelectWithColumnsInfoForCompound(query: SelectData, params: any[], columnsForInsert: {
        [name: string]: Column | undefined;
    }, isOutermostQuery: boolean): string;
    _buildSelectOrderBy(query: SelectData, params: any[]): string;
    _appendCompoundOrderByColumnAlias(entry: OrderByEntry, columnNames: string[], query: SelectData, params: any[]): string;
    _appendCompoundOrderByColumnAliasInsensitive(entry: OrderByEntry, columnNames: string[], query: SelectData, params: any[]): string;
    _buildSelectLimitOffset(query: SelectData, params: any[]): string;
    _buildInsertMultiple(query: InsertData, params: any[]): string;
    _buildInsertDefaultValues(query: InsertData, params: any[]): string;
    _buildInsertOutput(_query: InsertData, _params: any[]): string;
    _buildInsertReturning(query: InsertData, params: any[]): string;
    _buildQueryReturning(queryColumns: QueryColumns | undefined, params: any[]): string;
    _isNull(params: any[], valueSource: ToSql): string;
    _isNotNull(params: any[], valueSource: ToSql): string;
    _is(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _isNot(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _random(_params: any): string;
    _currentDate(_params: any): string;
    _valueWhenNull(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _divide(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _asDouble(params: any[], valueSource: ToSql): string;
    _log10(params: any[], valueSource: ToSql): string;
    _cbrt(params: any[], valueSource: ToSql): string;
    _getDate(params: any[], valueSource: ToSql): string;
    _getTime(params: any[], valueSource: ToSql): string;
    _getFullYear(params: any[], valueSource: ToSql): string;
    _getMonth(params: any[], valueSource: ToSql): string;
    _getDay(params: any[], valueSource: ToSql): string;
    _getHours(params: any[], valueSource: ToSql): string;
    _getMinutes(params: any[], valueSource: ToSql): string;
    _getSeconds(params: any[], valueSource: ToSql): string;
    _getMilliseconds(params: any[], valueSource: ToSql): string;
    _buildCallProcedure(params: any[], procedureName: string, procedureParams: AnyValueSource[]): string;
    _buildCallFunction(params: any[], functionName: string, functionParams: AnyValueSource[]): string;
    _stringConcat(params: any[], separator: string | undefined, value: any): string;
    _stringConcatDistinct(params: any[], separator: string | undefined, value: any): string;
    _escapeLikeWildcard(params: any[], value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _like(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notLike(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;
    _startsWith(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notStartsWith(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _endsWith(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notEndsWith(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;
    _contains(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notContains(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;
    _appendAggragateArrayColumns(aggregatedArrayColumns: __AggregatedArrayColumns | AnyValueSource, aggregatedArrayDistinct: boolean, params: any[], _query: SelectData | undefined): string;
    _appendAggragateArrayWrappedColumns(aggregatedArrayColumns: __AggregatedArrayColumns | AnyValueSource, _params: any[], aggregateId: number): string;
}
