export type BaseOperation = { path: string; }; export type MoveCopyOperation = BaseOperation & { op: "move" | "copy"; from: string; }; export type RemoveOperation = BaseOperation & { op: "remove"; }; export type TestAddReplaceOperation = BaseOperation & { op: "test" | "add" | "replace"; value: string | number | boolean | object; }; export type PatchOperation = MoveCopyOperation | RemoveOperation | TestAddReplaceOperation; export type Patch = PatchOperation[]; export declare function toTokens(path: string): string[]; export declare function toPointer(path: string | number | (string | number)[], ...extraPaths: (string | number)[]): string; export declare function createPatch(left: unknown, right: unknown, prefix?: string | number | (string | number)[]): Patch; export declare function createPartialPatch(original: object, update: object, prefix?: string | number | (string | number)[]): Patch; export declare function withPrefix(patch: Patch, prefix?: string | number | (string | number)[]): Patch;