export type Operation = "REPLACE" | "COMBINE" | "APPEND" | "PREPEND"; export type PathSegment = string | number; export type Path = PathSegment[]; export type MergeReport = { path: Path; operation: Operation; count?: number; }; export type MergedWithReport = { merged: unknown; report: { updatedPaths: MergeReport[]; }; }; export declare const JSONObjectMerge: (target: unknown, source: unknown, rules?: Record, report?: boolean) => unknown | MergedWithReport;