/** * Zero-dependency JSON diff. * Produces a flat list of changes between two plain objects. */ export type ChangeType = 'added' | 'removed' | 'changed'; export interface DiffEntry { /** Dot-separated path to the changed field (e.g. "address.city"). */ readonly path: string; /** Type of change. */ readonly type: ChangeType; /** Previous value (undefined for 'added'). */ readonly from?: unknown; /** New value (undefined for 'removed'). */ readonly to?: unknown; } /** * Compute differences between two objects. * Returns an array of DiffEntry describing each changed field. * Returns empty array if objects are identical. */ export declare function diff(oldObj: unknown, newObj: unknown, basePath?: string): DiffEntry[]; /** Format a diff as a human-readable string. */ export declare function formatDiff(changes: DiffEntry[]): string;