import { ReduceArguments } from "./reduceify"; export declare type ArrDiff = { added: readonly T[]; removed: readonly T[]; }; /** WARNING: Providing areEquals significantly impact performances */ export declare function arrDiff(arr: readonly ArrOf[], newArr: readonly ArrOf[], areEquals?: (e1: ArrOf, e2: ArrOf) => boolean): ArrDiff; export declare function diff(newArr: readonly ArrOf[], areEquals?: (e1: ArrOf, e2: ArrOf) => boolean): ReduceArguments>; export declare function diffFactory({ areEquals }: { areEquals: (e1: T, e2: T) => boolean; }): { diff: (newArr: readonly ArrOf[]) => ReduceArguments>; };