type Iteratee = PropertyKey | Partial | ((value: T) => unknown); /** * Computes the difference between an array and another array using an iteratee function. * * @template T1, T2 * @param {ArrayLike | null | undefined} array - The primary array from which to derive the difference. * @param {ArrayLike} values - The array containing elements to be excluded from the primary array. * @param {Iteratee} iteratee - The iteratee invoked per element. * @returns {T1[]} A new array containing the elements that are present in the primary array but not in the values array. * * @example * const result = differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); * // result will be [1.2] * * @example * const result = differenceBy([{ x: 2 }, { x: 1 }], [{ x: 1 }], 'x'); * // result will be [{ x: 2 }] */ declare function differenceBy(array: ArrayLike | null | undefined, values: ArrayLike, iteratee: Iteratee): T1[]; /** * Computes the difference between an array and two other arrays using an iteratee function. * * @template T1, T2, T3 * @param {ArrayLike | null | undefined} array - The primary array from which to derive the difference. * @param {ArrayLike} values1 - The first array containing elements to be excluded from the primary array. * @param {ArrayLike} values2 - The second array containing elements to be excluded from the primary array. * @param {Iteratee} iteratee - The iteratee invoked per element. * @returns {T1[]} A new array containing the elements that are present in the primary array but not in the values arrays. * * @example * const result = differenceBy([2.1, 1.2], [2.3, 3.4], [1.2], Math.floor); * // result will be [] */ declare function differenceBy(array: ArrayLike | null | undefined, values1: ArrayLike, values2: ArrayLike, iteratee: Iteratee): T1[]; /** * Computes the difference between an array and three other arrays using an iteratee function. * * @template T1, T2, T3, T4 * @param {ArrayLike | null | undefined} array - The primary array from which to derive the difference. * @param {ArrayLike} values1 - The first array containing elements to be excluded from the primary array. * @param {ArrayLike} values2 - The second array containing elements to be excluded from the primary array. * @param {ArrayLike} values3 - The third array containing elements to be excluded from the primary array. * @param {Iteratee} iteratee - The iteratee invoked per element. * @returns {T1[]} A new array containing the elements that are present in the primary array but not in the values arrays. * * @example * const result = differenceBy([2.1, 1.2], [2.3, 3.4], [1.2], [2.1], Math.floor); * // result will be [] */ declare function differenceBy(array: ArrayLike | null | undefined, values1: ArrayLike, values2: ArrayLike, values3: ArrayLike, iteratee: Iteratee): T1[]; /** * Computes the difference between an array and four other arrays using an iteratee function. * * @template T1, T2, T3, T4, T5 * @param {ArrayLike | null | undefined} array - The primary array from which to derive the difference. * @param {ArrayLike} values1 - The first array containing elements to be excluded from the primary array. * @param {ArrayLike} values2 - The second array containing elements to be excluded from the primary array. * @param {ArrayLike} values3 - The third array containing elements to be excluded from the primary array. * @param {ArrayLike} values4 - The fourth array containing elements to be excluded from the primary array. * @param {Iteratee} iteratee - The iteratee invoked per element. * @returns {T1[]} A new array containing the elements that are present in the primary array but not in the values arrays. * * @example * const result = differenceBy([2.1, 1.2], [2.3, 3.4], [1.2], [2.1], [3.4], Math.floor); * // result will be [] */ declare function differenceBy(array: ArrayLike | null | undefined, values1: ArrayLike, values2: ArrayLike, values3: ArrayLike, values4: ArrayLike, iteratee: Iteratee): T1[]; /** * Computes the difference between an array and multiple arrays using an iteratee function. * * @template T * @param {ArrayLike | null | undefined} array - The primary array from which to derive the difference. * @param {...Array>} values - Multiple arrays containing elements to be excluded from the primary array. * @returns {T[]} A new array containing the elements that are present in the primary array but not in the values arrays. * * @example * const result = differenceBy([2.1, 1.2], [2.3, 3.4], [1.2], [2.1], [3.4], Math.floor); * // result will be [] */ declare function differenceBy(array: ArrayLike | null | undefined, ...values: Array>): T[]; export { differenceBy };