import { Operation } from 'fast-json-patch'; export interface JsonPatcher { fork: () => JsonPatcher; currentPatches: () => IPatchGroup[]; currentPatchesRelativeTo: (basePointer: string) => IPatchGroup[]; applyPatch: (patch: IPatchGroup) => void; helper: { getPath: (basePath: string, path: string[]) => any; get: (path: string) => any; removeKeysNotAllowedAt: (basePath: string, allowedKeys: string[], reason: string) => void; }; apply: (intent: string, patches: Operation[], swallowErrors?: boolean) => { error?: string; patch?: { patches: Operation[]; intent: string; }; success: boolean; }; reset: () => void; currentDocument: (log?: boolean) => G; patchesToSave: () => PatchesToSave; } export declare function jsonPatcher(original: G, initialPatches?: IPatchGroup[]): JsonPatcher; export interface IPatchGroup { intent: string; patches: Operation[]; } export declare type PatchesToSave = { patches: IPatchGroup[]; document: G; }; //# sourceMappingURL=json-patcher.d.ts.map