/** * Combines multiple arrays into a single array of tuples. * * This function takes multiple arrays and returns a new array where each element is a tuple * containing the corresponding elements from the input arrays. If the input arrays are of * different lengths, the resulting array will have the length of the longest input array, * with undefined values for missing elements. * * @template T, U * @param {ArrayLike} arr1 - The first array to zip. * @param {ArrayLike} arr2 - The second array to zip. * @returns {Array<[T | undefined, U | undefined]>} A new array of tuples containing the corresponding elements from the input arrays. * * @example * const arr1 = [1, 2, 3]; * const arr2 = ['a', 'b', 'c']; * const result = zip(arr1, arr2); * // result will be [[1, 'a'], [2, 'b'], [3, 'c']] */ /** * Creates an array of grouped elements, the first of which contains the first elements of the given arrays, * the second of which contains the second elements of the given arrays, and so on. * * @template T, U * @param {ArrayLike} arr1 - The first array to zip. * @param {ArrayLike} arr2 - The second array to zip. * @returns {Array<[T | undefined, U | undefined]>} Returns the new array of grouped elements. * * @example * zip([1, 2], ['a', 'b']); * // => [[1, 'a'], [2, 'b']] */ declare function zip(arr1: ArrayLike, arr2: ArrayLike): Array<[T | undefined, U | undefined]>; /** * Combines multiple arrays into a single array of tuples. * * This function takes multiple arrays and returns a new array where each element is a tuple * containing the corresponding elements from the input arrays. If the input arrays are of * different lengths, the resulting array will have the length of the longest input array, * with undefined values for missing elements. * * @template T, U, V * @param {ArrayLike} arr1 - The first array to zip. * @param {ArrayLike} arr2 - The second array to zip. * @param {ArrayLike} arr3 - The third array to zip. * @returns {Array<[T | undefined, U | undefined, V | undefined]>} A new array of tuples containing the corresponding elements from the input arrays. * * @example * const arr1 = [1, 2, 3]; * const arr2 = ['a', 'b', 'c']; * const arr3 = [true, false]; * const result = zip(arr1, arr2, arr3); * // result will be [[1, 'a', true], [2, 'b', false], [3, 'c', undefined]] */ /** * Creates an array of grouped elements, the first of which contains the first elements of the given arrays, * the second of which contains the second elements of the given arrays, and so on. * * @template T, U, V * @param {ArrayLike} arr1 - The first array to zip. * @param {ArrayLike} arr2 - The second array to zip. * @param {ArrayLike} arr3 - The third array to zip. * @returns {Array<[T | undefined, U | undefined, V | undefined]>} Returns the new array of grouped elements. * * @example * zip([1, 2], ['a', 'b'], [true, false]); * // => [[1, 'a', true], [2, 'b', false]] */ declare function zip(arr1: ArrayLike, arr2: ArrayLike, arr3: ArrayLike): Array<[T | undefined, U | undefined, V | undefined]>; /** * Combines multiple arrays into a single array of tuples. * * This function takes multiple arrays and returns a new array where each element is a tuple * containing the corresponding elements from the input arrays. If the input arrays are of * different lengths, the resulting array will have the length of the longest input array, * with undefined values for missing elements. * * @template T, U, V, W * @param {ArrayLike} arr1 - The first array to zip. * @param {ArrayLike} arr2 - The second array to zip. * @param {ArrayLike} arr3 - The third array to zip. * @param {ArrayLike} arr4 - The fourth array to zip. * @returns {Array<[T | undefined, U | undefined, V | undefined, W | undefined]>} A new array of tuples containing the corresponding elements from the input arrays. * * @example * const arr1 = [1, 2, 3]; * const arr2 = ['a', 'b', 'c']; * const arr3 = [true, false]; * const arr4 = [null, null, null]; * const result = zip(arr1, arr2, arr3, arr4); * // result will be [[1, 'a', true, null], [2, 'b', false, null], [3, 'c', undefined, null]] */ /** * Creates an array of grouped elements, the first of which contains the first elements of the given arrays, * the second of which contains the second elements of the given arrays, and so on. * * @template T, U, V, W * @param {ArrayLike} arr1 - The first array to zip. * @param {ArrayLike} arr2 - The second array to zip. * @param {ArrayLike} arr3 - The third array to zip. * @param {ArrayLike} arr4 - The fourth array to zip. * @returns {Array<[T | undefined, U | undefined, V | undefined, W | undefined]>} Returns the new array of grouped elements. * * @example * zip([1], ['a'], [true], [null]); * // => [[1, 'a', true, null]] */ declare function zip(arr1: ArrayLike, arr2: ArrayLike, arr3: ArrayLike, arr4: ArrayLike): Array<[T | undefined, U | undefined, V | undefined, W | undefined]>; /** * Combines multiple arrays into a single array of tuples. * * This function takes multiple arrays and returns a new array where each element is a tuple * containing the corresponding elements from the input arrays. If the input arrays are of * different lengths, the resulting array will have the length of the longest input array, * with undefined values for missing elements. * * @template T, U, V, W * @param {ArrayLike} arr1 - The first array to zip. * @param {ArrayLike} arr2 - The second array to zip. * @param {ArrayLike} arr3 - The third array to zip. * @param {ArrayLike} arr4 - The fourth array to zip. * @param {ArrayLike} arr5 - The fifth array to zip. * @returns {Array<[T | undefined, U | undefined, V | undefined, W | undefined, X | undefined]>} A new array of tuples containing the corresponding elements from the input arrays. * * @example * const arr1 = [1, 2, 3]; * const arr2 = ['a', 'b', 'c']; * const arr3 = [true, false]; * const arr4 = [null, null, null]; * const arr5 = [undefined, undefined, undefined]; * const result = zip(arr1, arr2, arr3, arr4, arr5); * // result will be [[1, 'a', true, null, undefined], [2, 'b', false, null, undefined], [3, 'c', undefined, null, undefined]] */ /** * Creates an array of grouped elements, the first of which contains the first elements of the given arrays, * the second of which contains the second elements of the given arrays, and so on. * * @template T, U, V, W, X * @param {ArrayLike} arr1 - The first array to zip. * @param {ArrayLike} arr2 - The second array to zip. * @param {ArrayLike} arr3 - The third array to zip. * @param {ArrayLike} arr4 - The fourth array to zip. * @param {ArrayLike} arr5 - The fifth array to zip. * @returns {Array<[T | undefined, U | undefined, V | undefined, W | undefined, X | undefined]>} Returns the new array of grouped elements. * * @example * zip([1], ['a'], [true], [null], [undefined]); * // => [[1, 'a', true, null, undefined]] */ declare function zip(arr1: ArrayLike, arr2: ArrayLike, arr3: ArrayLike, arr4: ArrayLike, arr5: ArrayLike): Array<[T | undefined, U | undefined, V | undefined, W | undefined, X | undefined]>; /** * Combines multiple arrays into a single array of tuples. * * This function takes multiple arrays and returns a new array where each element is a tuple * containing the corresponding elements from the input arrays. If the input arrays are of * different lengths, the resulting array will have the length of the longest input array, * with undefined values for missing elements. * * @template T * @param {Array | null | undefined>} arrays - The arrays to zip. * @returns {Array>} A new array of tuples containing the corresponding elements from the input arrays. * * @example * const arr1 = [1, 2, 3]; * const arr2 = ['a', 'b', 'c']; * const arr3 = [true, false]; * const arr4 = [null, null, null]; * const arr5 = [undefined, undefined, undefined]; * const result = zip(arr1, arr2, arr3, arr4, arr5); * // result will be [[1, 'a', true, null, undefined], [2, 'b', false, null, undefined], [3, 'c', undefined, null, undefined]] */ /** * Creates an array of grouped elements, the first of which contains the first elements of the given arrays, * the second of which contains the second elements of the given arrays, and so on. * * @template T * @param {...Array | null | undefined>} arrays - The arrays to process. * @returns {Array>} Returns the new array of grouped elements. * * @example * zip([1, 2], ['a', 'b'], [true, false]); * // => [[1, 'a', true], [2, 'b', false]] */ declare function zip(...arrays: Array | null | undefined>): Array>; export { zip };