import { AnyValueSource, IExecutableDeleteQuery, IExecutableInsertQuery, IExecutableSelectQuery, IExecutableUpdateQuery } from "../expressions/values";
import { SqlBuilder, ToSql } from "../sqlBuilders/SqlBuilder";
import { Column } from "../utils/Column";
import { HasAddWiths, HasIsValue, ITableOrView, IWithView } from "../utils/ITableOrView";
import { RawFragment } from "../utils/RawFragment";
import { database, rawFragment } from "../utils/symbols";
export declare class RawFragmentImpl implements RawFragment<any>, HasAddWiths, ToSql {
    [rawFragment]: "rawFragment";
    [database]: any;
    __template: TemplateStringsArray;
    __params: Array<AnyValueSource | IExecutableSelectQuery<any, any, any, any> | IExecutableInsertQuery<any, any> | IExecutableUpdateQuery<any, any> | IExecutableDeleteQuery<any, any>>;
    constructor(template: TemplateStringsArray, params: Array<AnyValueSource | IExecutableSelectQuery<any, any, any, any> | IExecutableInsertQuery<any, any> | IExecutableUpdateQuery<any, any> | IExecutableDeleteQuery<any, any>>);
    __toSql(sqlBuilder: SqlBuilder, params: any[]): string;
    __toSqlForCondition(sqlBuilder: SqlBuilder, params: any[]): string;
    __addWiths(sqlBuilder: HasIsValue, withs: Array<IWithView<any>>): void;
    __registerTableOrView(sqlBuilder: HasIsValue, requiredTablesOrViews: Set<ITableOrView<any>>): void;
    __registerRequiredColumn(sqlBuilder: HasIsValue, requiredColumns: Set<Column>, onlyForTablesOrViews: Set<ITableOrView<any>>): void;
    __getOldValues(sqlBuilder: HasIsValue): ITableOrView<any> | undefined;
    __getValuesForInsert(sqlBuilder: HasIsValue): ITableOrView<any> | undefined;
    __isAllowed(sqlBuilder: HasIsValue): boolean;
}
