import { AnyObject, AnyArray, PlainObject, PlainArray, Patch, ObjectPatch, ArrayPatch } from "./types"; /** * Apply a patch based on its type. * * This is an untyped variant. If you know the value's type, you should use * `applyObjectPatch` or `applyArrayPatch` instead. */ export declare const applyPatch: ((val: any, patch: Patch) => any) & { /** * Variant that modifies the target value in-place. */ inPlace: (val: any, patch: Patch) => any; }; /** * Apply an object patch. */ export declare const applyObjectPatch: ((obj: T, patch: ObjectPatch) => PlainObject) & { /** * Variant that modifies the target object in-place. */ inPlace: (obj: T, patch: ObjectPatch) => PlainObject; }; /** * Apply an array patch. */ export declare const applyArrayPatch: ((arr: T, patch: ArrayPatch) => PlainArray) & { /** * Variant that modifies the target array in-place. */ inPlace: (arr: T, patch: ArrayPatch) => PlainArray; };