import { Omit } from 'ramda'; import { TScalar } from '../engine'; export declare class Updater { private genKey; private genValue; private done; constructor(genKey: any, genValue: any, done: any); readonly expressionType: string; readonly expressions: string[]; of(schema: Partial, ifNotExists?: boolean): this; set(path: K, value: S[K], ifNotExists?: boolean): this; setUnsafe(path: string, value: TScalar, ifNotExists?: Boolean): this; plus(path: K, a: Extract): this; plus(path: K, a: K, b: Extract): this; plusUnsafe(path: string, a: string | TScalar, b: TScalar): this; minus(path: K, a: Extract): this; minus(path: K, a: K, b: Extract): this; minusUnsafe(path: string, a: string | TScalar, b: TScalar): this; append>(path: K, array: L): this; append, L extends Extract>(path: K, sourceProp: K2, array: L): this; appendUnsafe(path: string, sourceProp: string | any[], array?: any): this; remove(...paths: K[]): this; removeUnsafe(...paths: (keyof S | string)[]): this; add>>(path: K, value: SET | Extract): this; addUnsafe(path: string, value: Set | number): this; delete>>(path: K, value: SET): this; deleteUnsafe(path: string, value: Set): this; }