import { UpdateColumnsBuilder } from "./update-columns-builder";
import { WhereBuilder } from "../where-builder";
import { DatabaseBase } from "../../definitions/database-definition";
import { UpdateBuilder } from "./update-builder";
import { CrudBase } from "../crud-base";
import { MapperTable } from "../../mapper-table";
import { QueryCompiled } from "../../core/query-compiled";
import { ValueTypeToParse } from "../../core/utils";
import { ConfigDatabase } from "../config-database";
export declare class Update<T> extends CrudBase<T, UpdateBuilder<T>, UpdateColumnsBuilder<T>> {
    constructor(typeT: new () => T, { toSave: toSave, mapperTable, alias, database, enableLog, config }: {
        toSave?: T;
        mapperTable: MapperTable;
        alias?: string;
        database?: DatabaseBase;
        enableLog?: boolean;
        config: ConfigDatabase;
    });
    columns(columnsCallback: (columns: UpdateColumnsBuilder<T>) => void): Update<T>;
    where(where: (whereCallback: WhereBuilder<T>) => void): Update<T>;
    protected compileValuesDependency(dependency: MapperTable, valuesDependencyArray: ValueTypeToParse[][], fieldReferenceSubItem: string): QueryCompiled[];
    protected resolveDependency(dependency: MapperTable): QueryCompiled;
}
