import { ValueIteratee } from '../_internal/ValueIteratee.js'; /** * Creates an array of array values not included in the other given arrays using an iteratee function. * * @template T1, T2 * @param {ArrayLike | null | undefined} array The array to inspect * @param {ArrayLike} values The values to exclude * @param {ValueIteratee} iteratee The iteratee invoked per element * @returns {T1[]} Returns the new array of filtered values * @example * differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor) * // => [1.2] */ declare function differenceBy(array: ArrayLike | null | undefined, values: ArrayLike, iteratee: ValueIteratee): T1[]; /** * Creates an array of array values not included in the other given arrays using an iteratee function. * * @template T1, T2, T3 * @param {ArrayLike | null | undefined} array The array to inspect * @param {ArrayLike} values1 The first array of values to exclude * @param {ArrayLike} values2 The second array of values to exclude * @param {ValueIteratee} iteratee The iteratee invoked per element * @returns {T1[]} Returns the new array of filtered values * @example * differenceBy([2.1, 1.2], [2.3], [1.4], Math.floor) * // => [] */ declare function differenceBy(array: ArrayLike | null | undefined, values1: ArrayLike, values2: ArrayLike, iteratee: ValueIteratee): T1[]; /** * Creates an array of array values not included in the other given arrays using an iteratee function. * * @template T1, T2, T3, T4 * @param {ArrayLike | null | undefined} array The array to inspect * @param {ArrayLike} values1 The first array of values to exclude * @param {ArrayLike} values2 The second array of values to exclude * @param {ArrayLike} values3 The third array of values to exclude * @param {ValueIteratee} iteratee The iteratee invoked per element * @returns {T1[]} Returns the new array of filtered values * @example * differenceBy([2.1, 1.2, 3.5], [2.3], [1.4], [3.2], Math.floor) * // => [] */ declare function differenceBy(array: ArrayLike | null | undefined, values1: ArrayLike, values2: ArrayLike, values3: ArrayLike, iteratee: ValueIteratee): T1[]; /** * Creates an array of array values not included in the other given arrays using an iteratee function. * * @template T1, T2, T3, T4, T5 * @param {ArrayLike | null | undefined} array The array to inspect * @param {ArrayLike} values1 The first array of values to exclude * @param {ArrayLike} values2 The second array of values to exclude * @param {ArrayLike} values3 The third array of values to exclude * @param {ArrayLike} values4 The fourth array of values to exclude * @param {ValueIteratee} iteratee The iteratee invoked per element * @returns {T1[]} Returns the new array of filtered values * @example * differenceBy([2.1, 1.2, 3.5, 4.8], [2.3], [1.4], [3.2], [4.1], Math.floor) * // => [] */ declare function differenceBy(array: ArrayLike | null | undefined, values1: ArrayLike, values2: ArrayLike, values3: ArrayLike, values4: ArrayLike, iteratee: ValueIteratee): T1[]; /** * Creates an array of array values not included in the other given arrays using an iteratee function. * * @template T1, T2, T3, T4, T5, T6 * @param {ArrayLike | null | undefined} array The array to inspect * @param {ArrayLike} values1 The first array of values to exclude * @param {ArrayLike} values2 The second array of values to exclude * @param {ArrayLike} values3 The third array of values to exclude * @param {ArrayLike} values4 The fourth array of values to exclude * @param {ArrayLike} values5 The fifth array of values to exclude * @param {ValueIteratee} iteratee The iteratee invoked per element * @returns {T1[]} Returns the new array of filtered values * @example * differenceBy([2.1, 1.2, 3.5, 4.8, 5.3], [2.3], [1.4], [3.2], [4.1], [5.8], Math.floor) * // => [] */ declare function differenceBy(array: ArrayLike | null | undefined, values1: ArrayLike, values2: ArrayLike, values3: ArrayLike, values4: ArrayLike, values5: ArrayLike, iteratee: ValueIteratee): T1[]; /** * Creates an array of array values not included in the other given arrays using an iteratee function. * * @template T1, T2, T3, T4, T5, T6, T7 * @param {ArrayLike | null | undefined} array The array to inspect * @param {ArrayLike} values1 The first array of values to exclude * @param {ArrayLike} values2 The second array of values to exclude * @param {ArrayLike} values3 The third array of values to exclude * @param {ArrayLike} values4 The fourth array of values to exclude * @param {ArrayLike} values5 The fifth array of values to exclude * @param {...(ArrayLike | ValueIteratee)[]} values Additional arrays of values to exclude and iteratee * @returns {T1[]} Returns the new array of filtered values * @example * differenceBy([2.1, 1.2, 3.5, 4.8, 5.3, 6.7], [2.3], [1.4], [3.2], [4.1], [5.8], [6.2], Math.floor) * // => [] */ declare function differenceBy(array: ArrayLike | null | undefined, values1: ArrayLike, values2: ArrayLike, values3: ArrayLike, values4: ArrayLike, values5: ArrayLike, ...values: Array | ValueIteratee>): T1[]; /** * Creates an array of array values not included in the other given arrays. * * @template T * @param {ArrayLike | null | undefined} array The array to inspect * @param {...Array>} values The arrays of values to exclude * @returns {T[]} Returns the new array of filtered values * @example * differenceBy([2, 1], [2, 3]) * // => [1] */ declare function differenceBy(array: ArrayLike | null | undefined, ...values: Array>): T[]; export { differenceBy };