interface NamedDiffChange { name: string; oldItem: T; newItem: T; } interface NamedDiffResult { added: T[]; removed: T[]; changed: NamedDiffChange[]; } export declare function diffByName(oldItems: readonly T[], newItems: readonly T[], getName: (item: T) => string, equals: (left: T, right: T) => boolean): NamedDiffResult; interface SettingDiffResult { changes: Array<{ kind: 'modify'; key: string; value: string | number | boolean; } | { kind: 'reset'; key: string; }>; } export declare function diffSettings(oldSettings: Record, newSettings: Record): SettingDiffResult; interface ClauseComparison { oldValue: string; newValue: string; } export declare function diffClauses(comparisons: readonly ClauseComparison[]): boolean; export {}; //# sourceMappingURL=diff-primitives.d.ts.map