import { ValueIteratee } from '../_internal/ValueIteratee.js'; /** * This method is like `xor` except that it accepts `iteratee` which is * invoked for each element of each `arrays` to generate the criterion by which * uniqueness is computed. The iteratee is invoked with one argument: (value). * * @template T * @param {ArrayLike | null | undefined} arrays - The arrays to inspect. * @param {ValueIteratee} [iteratee] - The iteratee invoked per element. * @returns {T[]} Returns the new array of values. * * @example * xorBy([2.1, 1.2], [4.3, 2.4], Math.floor); * // => [1.2, 4.3] * * @example * xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); * // => [{ 'x': 2 }] */ declare function xorBy(arrays: ArrayLike | null | undefined, iteratee?: ValueIteratee): T[]; /** * This method is like `xor` except that it accepts `iteratee` which is * invoked for each element of each `arrays` to generate the criterion by which * uniqueness is computed. The iteratee is invoked with one argument: (value). * * @template T * @param {ArrayLike | null | undefined} arrays - The first array to inspect. * @param {ArrayLike | null | undefined} arrays2 - The second array to inspect. * @param {ValueIteratee} [iteratee] - The iteratee invoked per element. * @returns {T[]} Returns the new array of values. * * @example * xorBy([2.1, 1.2], [4.3, 2.4], Math.floor); * // => [1.2, 4.3] */ declare function xorBy(arrays: ArrayLike | null | undefined, arrays2: ArrayLike | null | undefined, iteratee?: ValueIteratee): T[]; /** * This method is like `xor` except that it accepts `iteratee` which is * invoked for each element of each `arrays` to generate the criterion by which * uniqueness is computed. The iteratee is invoked with one argument: (value). * * @template T * @param {ArrayLike | null | undefined} arrays - The first array to inspect. * @param {ArrayLike | null | undefined} arrays2 - The second array to inspect. * @param {ArrayLike | null | undefined} arrays3 - The third array to inspect. * @param {...Array | ArrayLike | null | undefined>} iteratee - The iteratee invoked per element. * @returns {T[]} Returns the new array of values. * * @example * xorBy([1.2, 2.3], [3.4, 4.5], [5.6, 6.7], Math.floor); * // => [1.2, 3.4, 5.6] */ declare function xorBy(arrays: ArrayLike | null | undefined, arrays2: ArrayLike | null | undefined, arrays3: ArrayLike | null | undefined, ...iteratee: Array | ArrayLike | null | undefined>): T[]; export { xorBy };