export { type Diff }; export { type PreFilterFunction }; export { type PreFilterObject }; export { type Accumulator }; export { type Observer }; export { type DiffPath }; export { diff }; export { orderIndependentDiff }; export { accumulateDiff }; export { observableDiff }; export { orderIndependentDeepDiff }; export { applyChange, revertChange }; export { applyDiff }; export { realTypeOf }; export { getOrderIndependentHash }; type DiffNew = { readonly kind: "N"; readonly path: any[]; readonly rhs: RHS; }; type DiffDeleted = { readonly kind: "D"; readonly path: any[]; readonly lhs: LHS; }; type DiffEdit = { readonly kind: "E"; readonly path: any[]; readonly lhs: LHS; readonly rhs: RHS; }; type DiffArray = { readonly kind: "A"; readonly path: any[]; readonly index: number; readonly item: Diff; }; type Diff = DiffNew | DiffDeleted | DiffEdit | DiffArray; type PreFilterFunction = (path: any[], key: any) => boolean; type PreFilterObject = { prefilter?(path: any[], key: any): boolean; normalize?(currentPath: any, key: any, lhs: LHS, rhs: RHS): [LHS, RHS] | false | undefined; }; type PreFilter = PreFilterFunction | PreFilterObject; type Filter = (target: LHS, source: RHS, change: Diff) => boolean; type Accumulator = { push(diff: Diff): void; length: number; }; type Observer = (diff: Diff) => void; type PathKey = string | number | symbol; type DiffPath = PathKey[]; declare function diff(lhs: LHS, rhs: RHS, prefilter?: PreFilter): readonly Diff[] | undefined; declare function orderIndependentDiff(lhs: LHS, rhs: RHS, prefilter?: PreFilter): readonly Diff[] | undefined; declare function observableDiff(lhs: LHS, rhs: RHS, observer?: Observer, prefilter?: PreFilter, orderIndependent?: boolean): Array>; declare function accumulateDiff(lhs: LHS, rhs: RHS, prefilter?: PreFilter, accum?: Accumulator, orderIndependent?: boolean): Accumulator | Diff[] | undefined; declare function orderIndependentDeepDiff(lhs: LHS, rhs: RHS, changes: Array>, prefilter?: PreFilter, path?: any[], key?: any, stack?: any[]): void; declare function applyDiff(target: LHS, source: RHS, filter?: Filter): LHS; declare function applyChange(target: LHS, unused: any, change: Diff): void; declare function revertChange(target: LHS, unused: any, change: Diff): void; declare function realTypeOf(val: any): string; declare function getOrderIndependentHash(val: any): number; //# sourceMappingURL=deep-diff.d.ts.map