import { I as IterableContainer } from './IterableContainer-CtfinwiH.cjs'; type Zipped = Left extends readonly [] ? [] : Right extends readonly [] ? [] : Left extends readonly [infer LeftHead, ...infer LeftRest] ? Right extends readonly [infer RightHead, ...infer RightRest] ? [ [LeftHead, RightHead], ...Zipped ] : [ [LeftHead, Right[number]], ...Zipped ] : Right extends readonly [infer RightHead, ...infer RightRest] ? [[Left[number], RightHead], ...Zipped] : Array<[Left[number], Right[number]]>; /** * Creates a new list from two supplied lists by pairing up equally-positioned * items. The length of the returned list will match the shortest of the two * inputs. * * @param first - The first input list. * @param second - The second input list. * @signature * R.zip(first, second) * @example * R.zip([1, 2], ['a', 'b']) // => [[1, 'a'], [2, 'b']] * @dataFirst * @lazy * @category Array */ declare function zip(first: F, second: S): Zipped; /** * Creates a new list from two supplied lists by pairing up equally-positioned * items. The length of the returned list will match the shortest of the two * inputs. * * @param second - The second input list. * @signature * R.zip(second)(first) * @example * R.zip(['a', 'b'])([1, 2]) // => [[1, 'a'], [2, 'b']] * @dataLast * @lazy * @category Array */ declare function zip(second: S): (first: F) => Zipped; export { zip };