//#region src/value/diff.d.ts /** * Options for value comparison */ type DiffOptions = { /** * Should `null` and `undefined` be considered equal and ignored in results? */ relaxedNullish?: boolean; }; /** * The result of a comparison beteen two values */ type DiffResult = { /** * The original values that were compared */ original: DiffValue; /** * The type of difference between the two values */ type: DiffType; /** * The differences between the two values * * - Keys are in dot notation * - Values are objects with `from` and `to` properties */ values: Record; }; type DiffType = 'full' | 'none' | 'partial'; /** * The difference between two values */ type DiffValue = { /** * The value from the first value */ from: First; /** * The value from the second value */ to: Second; }; /** * Find the differences between two values * * @param first First value * @param second Second value * @param options Comparison options * @returns Difference result */ declare function diff(first: First, second: Second, options?: DiffOptions): DiffResult; //#endregion export { DiffOptions, DiffResult, DiffValue, diff };