import { DeleteColumnsBuilder } from "./delete-columns-builder";
import { WhereBuilder } from "../where-builder";
import { DatabaseBase } from "../../definitions/database-definition";
import { CrudBase } from "../crud-base";
import { DeleteBuilder } from "./delete-builder";
import { MapperTable } from "../../mapper-table";
import { QueryCompiled } from "../../core/query-compiled";
import { ValueTypeToParse } from "../../core/utils";
import { ConfigDatabase } from "../config-database";
export declare class Delete<T> extends CrudBase<T, DeleteBuilder<T>, DeleteColumnsBuilder<T>> {
    constructor(typeT: new () => T, { modelToSave, mapperTable, database, enableLog, config }: {
        modelToSave: T;
        mapperTable: MapperTable;
        database?: DatabaseBase;
        enableLog?: boolean;
        config: ConfigDatabase;
    });
    protected dependencies(): MapperTable[];
    where(where: (whereCallback: WhereBuilder<T>) => void): Delete<T>;
    protected resolveDependencyByValue(dependency: MapperTable, value: ValueTypeToParse, index: number): QueryCompiled;
    protected resolveDependency(dependency: MapperTable): QueryCompiled;
    protected compileDependencyByValue(dependency: MapperTable): QueryCompiled[];
}
