import { RulesController } from "./RulesController";
import { QueryModel } from "../models/QueryModel";
import { HttpClientAdapter } from "../adapters/HttpClientAdapter";
import { RequestOptions } from "./QueryController";
export declare class UpdateController {
    private readonly domain;
    private readonly queryModel;
    private readonly appName;
    private readonly restAdapter;
    private readonly rulesController;
    private updateModel;
    private _upsert;
    constructor(domain: string, queryModel: QueryModel, appName: string, restAdapter: HttpClientAdapter, rulesController: RulesController);
    set(field: string, value: any): UpdateController;
    upsert(value?: boolean): this;
    doc<T extends object>(doc: T): UpdateController;
    increment(field: string, amount?: number): UpdateController;
    decrement(field: string, amount?: number): UpdateController;
    currentDate(field: string): UpdateController;
    minimum(field: string, value: any): UpdateController;
    maximum(field: string, value: any): UpdateController;
    multiply(field: string, quantity: number): UpdateController;
    renameField(field: string, value: string): UpdateController;
    removeField(field: string): UpdateController;
    private build;
    update(options?: RequestOptions): Promise<any>;
}
