import { ToSql, SqlBuilder, DeleteData, InsertData, UpdateData, SelectData, SqlOperation, WithQueryData, CompoundOperator, JoinData, QueryColumns, WithSelectData, WithValuesData, OrderByEntry } from "./SqlBuilder";
import { ITableOrView } from "../utils/ITableOrView";
import { AnyValueSource, IAggregatedArrayValueSource, IAnyBooleanValueSource, IExecutableDeleteQuery, IExecutableInsertQuery, IExecutableSelectQuery, IExecutableUpdateQuery, __AggregatedArrayColumns, ValueType } from "../expressions/values";
import { Column } from "../utils/Column";
import { DefaultTypeAdapter, TypeAdapter } from "../TypeAdapter";
import type { ConnectionConfiguration } from "../utils/ConnectionConfiguration";
import { QueryRunner } from "../queryRunners/QueryRunner";
import { RawFragment } from "../utils/RawFragment";
export declare class AbstractSqlBuilder implements SqlBuilder {
    _defaultTypeAdapter: DefaultTypeAdapter;
    _queryRunner: QueryRunner;
    _connectionConfiguration: ConnectionConfiguration;
    _operationsThatNeedParenthesis: {
        [operation in keyof SqlOperation]?: boolean;
    };
    _unique: number;
    constructor();
    _generateUnique(): number;
    _resetUnique(): void;
    _getSafeTableOrView(params: any[]): ITableOrView<any> | undefined;
    _setSafeTableOrView(params: any[], tableOrView: ITableOrView<any> | undefined): void;
    _getForceAliasAs(params: any[]): string | undefined;
    _setForceAliasAs(params: any[], value: string | undefined): void;
    _getForceAliasFor(params: any[]): ITableOrView<any> | undefined;
    _setForceAliasFor(params: any[], value: ITableOrView<any> | undefined): void;
    _getFakeNamesOf(params: any[]): Set<ITableOrView<any>> | undefined;
    _setFakeNamesOf(params: any[], value: Set<ITableOrView<any>> | undefined): void;
    _generateExternalWith(params: any[]): boolean;
    _setGenerateExternalWith(params: any[], value: boolean): void;
    _isWithGenerated(params: any[]): boolean;
    _setWithGenerated(params: any[], value: boolean): void;
    _isWithGeneratedFinished(params: any[]): boolean;
    _setWithGeneratedFinished(params: any[], value: boolean): void;
    _isAggregateArrayWrapped(params: any[]): boolean;
    _setAggregateArrayWrapped(params: any[], value: boolean): void;
    _getResultingOperation(params: any[]): '_and' | '_or' | undefined;
    _setResultingOperation(params: any[], value: '_and' | '_or' | undefined): void;
    _getContainsInsertReturningClause(params: any[]): boolean | undefined;
    _setContainsInsertReturningClause(params: any[], value: boolean | undefined): void;
    _ensureRootQuery(query: SelectData | InsertData | UpdateData | DeleteData, params: any[]): void;
    _isCurrentRootQuery(query: SelectData | InsertData | UpdateData | DeleteData, params: any[]): boolean;
    _resetRootQuery(query: SelectData | InsertData | UpdateData | DeleteData, params: any[]): void;
    _getRootQuery(params: any[]): object | undefined;
    _setRootQuery(params: any[], value: object | undefined): void;
    _isValue(value: any): boolean;
    _isReservedKeyword(_word: string): boolean;
    _forceAsIdentifier(identifier: string): string;
    _escape(identifier: string, strict: boolean): string;
    _needParenthesis(value: any): boolean;
    _needParenthesisExcluding(value: any, excluding: keyof SqlOperation): boolean;
    _appendColumnName(column: Column, params: any[]): string;
    _appendColumnNameForCondition(column: Column, params: any[]): string;
    _appendRawColumnName(column: Column, params: any[]): string;
    _appendRawColumnNameForValuesForInsert(column: Column, _params: any[]): string;
    _appendLiteralValue(value: number | string, _params: any[]): string;
    _getTableOrViewVisibleName(table: ITableOrView<any>): string;
    _supportTableAliasWithAs: boolean;
    _appendTableOrViewName(table: ITableOrView<any>, params: any[]): string;
    _appendTableOrViewNameForFrom(table: ITableOrView<any>, _params: any[]): string;
    _appendTableOrViewNoAliasForFrom(_table: ITableOrView<any>, _params: any[]): string;
    _appendRawFragment(rawFragment: RawFragment<any>, params: any[]): string;
    _appendCondition(condition: IAnyBooleanValueSource<any, any>, params: any[]): string;
    _appendConditionParenthesis(condition: IAnyBooleanValueSource<any, any>, params: any[]): string;
    _appendConditionParenthesisExcuding(condition: IAnyBooleanValueSource<any, any>, params: any[], excluding: keyof SqlOperation): string;
    _appendSql(value: ToSql | AnyValueSource | IExecutableSelectQuery<any, any, any, any> | IExecutableInsertQuery<any, any> | IExecutableUpdateQuery<any, any> | IExecutableDeleteQuery<any, any>, params: any[]): string;
    _appendSqlParenthesis(value: ToSql | AnyValueSource, params: any[]): string;
    _appendSqlParenthesisExcluding(value: ToSql | AnyValueSource, params: any[], excluding: keyof SqlOperation): string;
    _appendSpreadValue(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast?: boolean): string;
    _appendValue(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast?: boolean): string;
    _appendValueParenthesis(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast?: boolean): string;
    _appendValueParenthesisExcluding(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, excluding: keyof SqlOperation, forceTypeCast?: boolean): string;
    _appendConditionSql(value: ToSql | AnyValueSource, params: any[]): string;
    _appendConditionSqlParenthesisExcluding(value: ToSql | AnyValueSource, params: any[], excluding: keyof SqlOperation): string;
    _appendConditionSqlParenthesis(value: ToSql | AnyValueSource, params: any[]): string;
    _appendConditionValue(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast?: boolean): string;
    _appendConditionValueParenthesis(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast?: boolean): string;
    _appendConditionValueParenthesisExcluding(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, excluding: keyof SqlOperation, forceTypeCast?: boolean): string;
    _transformParamToDB(value: any, _columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): any;
    _appendParam(value: any, params: any[], _columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast: boolean): string;
    _appendConditionParam(value: any, params: any[], columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined, forceTypeCast: boolean): string;
    _appendColumnAlias(name: string, _params: any[]): string;
    _appendColumnValue(value: AnyValueSource, params: any[], _isOutermostQuery: boolean): string;
    _buildWith(withData: WithQueryData, params: any[]): string;
    _buildWithValues(withValues: WithValuesData, params: any[]): string;
    _appendWithColumns(_withData: WithSelectData, _params: any[]): string;
    _appendWithKeyword(recursive: boolean): string;
    _inlineSelectAsValue(query: SelectData, params: any[]): string;
    _inlineSelectAsValueForCondition(query: SelectData, params: any[]): string;
    _buildInlineSelect(query: SelectData, params: any[]): string;
    _buildSelect(query: SelectData, params: any[]): string;
    _appendCompoundOperator(compoundOperator: CompoundOperator, _params: any[]): string;
    _buildSelectWithColumnsInfoForCompound(query: SelectData, params: any[], columnsForInsert: {
        [name: string]: Column | undefined;
    }, isOutermostQuery: boolean): string;
    _buildFromJoins(tables: ITableOrView<any>[] | undefined, joins: JoinData[] | undefined, requiredTablesOrViews: Set<ITableOrView<any>> | undefined, params: any[]): string;
    _buildSelectWithColumnsInfo(query: SelectData, params: any[], columnsForInsert: {
        [name: string]: Column | undefined;
    }, isOutermostQuery: boolean): string;
    _appendSelectColumn(value: AnyValueSource, params: any[], columnForInsert: Column | undefined, isOutermostQuery: boolean): string;
    _fromNoTable(): string;
    _buildSelectOrderBy(query: SelectData, params: any[]): string;
    _appendOrderByColumnAlias(entry: OrderByEntry, query: SelectData, params: any[]): string;
    _appendOrderByColumnAliasInsensitive(entry: OrderByEntry, query: SelectData, params: any[]): string;
    _isStringOrderByColumn(entry: OrderByEntry, query: SelectData): boolean;
    _buildSelectLimitOffset(query: SelectData, params: any[]): string;
    _insertSupportWith: boolean;
    _buildInsertMultiple(query: InsertData, params: any[]): string;
    _appendCustomBooleanRemapForColumnIfRequired(column: Column, value: any, params: any[]): string | null;
    _appendValueForColumn(column: Column, value: any, params: any[], forceTypeCast?: boolean): string;
    _buildInsertDefaultValues(query: InsertData, params: any[]): string;
    _buildInsert(query: InsertData, params: any[]): string;
    _buildInsertFromSelect(query: InsertData, params: any[]): string;
    _buildInsertOutput(_query: InsertData, _params: any[]): string;
    _buildInsertReturning(query: InsertData, params: any[]): string;
    _buildQueryReturning(queryColumns: QueryColumns | undefined, params: any[], isOutermostQuery: boolean): string;
    _buildInsertOnConflictBeforeInto(_query: InsertData, _params: any[]): string;
    _buildInsertOnConflictBeforeReturning(query: InsertData, params: any[]): string;
    _nextSequenceValue(_params: any[], sequenceName: string): string;
    _currentSequenceValue(_params: any[], sequenceName: string): string;
    _buildUpdate(query: UpdateData, params: any[]): string;
    _extractAdditionalRequiredTablesForUpdate(query: UpdateData, _params: any[]): Set<ITableOrView<any>> | undefined;
    _extractAdditionalRequiredColumnsForUpdate(query: UpdateData, requiredTables: Set<ITableOrView<any>> | undefined, _params: any[]): Set<Column> | undefined;
    _updateNewAlias: string;
    _updateOldValueInFrom: boolean;
    _appendColumnNameForUpdate(column: Column, _params: any[]): string;
    _appendUpdateOldValueForUpdate(query: UpdateData, updatePrimaryKey: boolean, _requiredTables: Set<ITableOrView<any>> | undefined, _params: any[]): string;
    _buildAfterUpdateTable(_query: UpdateData, _params: any[]): string;
    _buildUpdateFrom(query: UpdateData, updatePrimaryKey: boolean, requiredTables: Set<ITableOrView<any>> | undefined, requiredColumns: Set<Column> | undefined, params: any[]): string;
    _buildUpdateOutput(_query: UpdateData, _params: any[]): string;
    _buildUpdateReturning(query: UpdateData, params: any[]): string;
    _buildDelete(query: DeleteData, params: any[]): string;
    _buidDeleteUsing(query: DeleteData, params: any[]): string;
    _buildDeleteOutput(_query: DeleteData, _params: any[]): string;
    _buildDeleteReturning(query: DeleteData, params: any[]): string;
    _isNull(params: any[], valueSource: ToSql): string;
    _isNotNull(params: any[], valueSource: ToSql): string;
    _hasSameBooleanTypeAdapter(valueSource: Column, value: Column): valueSource is Column;
    _equals(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notEquals(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): 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;
    _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;
    _lessThan(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _greaterThan(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _lessOrEquals(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _greaterOrEquals(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;
    _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;
    _between(params: any[], valueSource: ToSql, value: any, value2: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notBetween(params: any[], valueSource: ToSql, value: any, value2: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _pi(_params: any): string;
    _random(_params: any): string;
    _currentDate(_params: any): string;
    _currentTime(_params: any): string;
    _currentTimestamp(_params: any): string;
    _default(_params: any): string;
    _trueValue: string;
    _true(_params: any): string;
    _trueValueForCondition: string;
    _trueForCondition(_params: any): string;
    _falseValue: string;
    _false(_params: any): string;
    _falseValueForCondition: string;
    _falseForCondition(_params: any): string;
    _const(params: any[], value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _constForCondition(params: any[], value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _exists(params: any[], value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _notExists(params: any[], value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _escapeLikeWildcard(params: any[], value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _negate(params: any[], valueSource: ToSql): string;
    _toLowerCase(params: any[], valueSource: ToSql): string;
    _toUpperCase(params: any[], valueSource: ToSql): string;
    _length(params: any[], valueSource: ToSql): string;
    _trim(params: any[], valueSource: ToSql): string;
    _trimLeft(params: any[], valueSource: ToSql): string;
    _trimRight(params: any[], valueSource: ToSql): string;
    _reverse(params: any[], valueSource: ToSql): string;
    _asDouble(params: any[], valueSource: ToSql): string;
    _abs(params: any[], valueSource: ToSql): string;
    _ceil(params: any[], valueSource: ToSql): string;
    _floor(params: any[], valueSource: ToSql): string;
    _round(params: any[], valueSource: ToSql): string;
    _exp(params: any[], valueSource: ToSql): string;
    _ln(params: any[], valueSource: ToSql): string;
    _log10(params: any[], valueSource: ToSql): string;
    _sqrt(params: any[], valueSource: ToSql): string;
    _cbrt(params: any[], valueSource: ToSql): string;
    _sign(params: any[], valueSource: ToSql): string;
    _acos(params: any[], valueSource: ToSql): string;
    _asin(params: any[], valueSource: ToSql): string;
    _atan(params: any[], valueSource: ToSql): string;
    _cos(params: any[], valueSource: ToSql): string;
    _cot(params: any[], valueSource: ToSql): string;
    _sin(params: any[], valueSource: ToSql): string;
    _tan(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;
    _asString(params: any[], valueSource: ToSql): string;
    _asNullValue(_params: any[], _columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _prior(params: any[], valueSource: ToSql): string;
    _valueWhenNull(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _nullIfValue(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _and(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _or(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _concat(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _substrToEnd(params: any[], valueSource: ToSql, value: any, _columnType: ValueType, _columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _substringToEnd(params: any[], valueSource: ToSql, value: any, _columnType: ValueType, _columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _getMathArgumentType(columnType: ValueType, _columnTypeName: string, value: any): ValueType;
    _getMathArgumentTypeName(columnType: ValueType, columnTypeName: string, value: any): string;
    _power(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _logn(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _roundn(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _minimumBetweenTwoValues(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _maximumBetweenTwoValues(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _add(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _substract(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _multiply(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;
    _modulo(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _atan2(params: any[], valueSource: ToSql, value: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _substr(params: any[], valueSource: ToSql, value: any, value2: any, _columnType: ValueType, _columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _substring(params: any[], valueSource: ToSql, value: any, value2: any, _columnType: ValueType, _columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _replaceAll(params: any[], valueSource: ToSql, value: any, value2: any, columnType: ValueType, columnTypeName: string, typeAdapter: TypeAdapter | undefined): string;
    _buildCallProcedure(params: any[], procedureName: string, procedureParams: AnyValueSource[]): string;
    _buildCallFunction(params: any[], functionName: string, functionParams: AnyValueSource[]): string;
    _fragment(params: any[], sql: TemplateStringsArray, sqlParams: AnyValueSource[]): string;
    _rawFragment(params: any[], sql: TemplateStringsArray, sqlParams: Array<AnyValueSource | IExecutableSelectQuery<any, any, any, any> | IExecutableInsertQuery<any, any> | IExecutableUpdateQuery<any, any> | IExecutableDeleteQuery<any, any>>): string;
    _rawFragmentTableName(params: any[], tableOrView: ITableOrView<any>): string;
    _rawFragmentTableAlias(params: any[], tableOrView: ITableOrView<any>): string;
    _countAll(_params: any[]): string;
    _count(params: any[], value: any): string;
    _countDistinct(params: any[], value: any): string;
    _max(params: any[], value: any): string;
    _min(params: any[], value: any): string;
    _sum(params: any[], value: any): string;
    _sumDistinct(params: any[], value: any): string;
    _average(params: any[], value: any): string;
    _averageDistinct(params: any[], value: any): string;
    _stringConcat(params: any[], separator: string | undefined, value: any): string;
    _stringConcatDistinct(params: any[], separator: string | undefined, value: any): string;
    _aggregateValueAsArray(valueSource: IAggregatedArrayValueSource<any, any, any>, params: any[]): string;
    _needAgggregateArrayColumnsTransformation(query: SelectData, _params: any[]): boolean;
    _supportOrderByWhenAggregateArray: boolean;
    _supportLimitWhenAggregateArray: boolean;
    _needAgggregateArrayWrapper(query: SelectData, _params: any[]): boolean;
    _buildSelectAsAggregatedArray(_query: SelectData, _params: any[]): string;
    _appendAggragateArrayWrapperBegin(query: SelectData, params: any[], aggregateId: number): string;
    _appendAggragateArrayWrapperEnd(_query: SelectData, _params: any[], aggregateId: number): string;
    _appendAggragateArrayColumns(aggregatedArrayColumns: __AggregatedArrayColumns | AnyValueSource, aggregatedArrayDistinct: boolean, params: any[], _query: SelectData | undefined): string;
    _appendAggragateArrayWrappedColumns(aggregatedArrayColumns: __AggregatedArrayColumns | AnyValueSource, _params: any[], aggregateId: number): string;
}
