import { Operation, TestOperation } from './diff'; /** Apply a 'application/json-patch+json'-type patch to an object. `patch` *must* be an array of operations. > Operation objects MUST have exactly one "op" member, whose value > indicates the operation to perform. Its value MUST be one of "add", > "remove", "replace", "move", "copy", or "test"; other values are > errors. This method currently operates on the target object in-place. Returns list of results, one for each operation. - `null` indicated success. - otherwise, the result will be an instance of one of the Error classe defined in errors.js. */ export declare function applyPatch(object: any, patch: any): any; /** Produce a 'application/json-patch+json'-type patch to get from one object to another. This does not alter `input` or `output` unless they have a property getter with side-effects (which is not a good idea anyway). Returns list of operations to perform on `input` to produce `output`. */ export declare function createPatch(input: any, output: any): Operation[]; /** Produce an 'application/json-patch+json'-type list of tests, to verify that existing values in an object are identical to the those captured at some checkpoint (whenever this function is called). This does not alter `input` or `output` unless they have a property getter with side-effects (which is not a good idea anyway). Returns list of test operations. */ export declare function createTests(input: any, patch: Operation[]): TestOperation[];