import { IterableX } from './iterablex'; export declare class ZipIterable extends IterableX { private _sources; private _fn; constructor(sources: Iterable[], fn: (values: any[]) => TResult); [Symbol.iterator](): IterableIterator; } export declare function zip(source: Iterable, source2: Iterable): IterableX<[T, T2]>; export declare function zip(source: Iterable, source2: Iterable, source3: Iterable): IterableX<[T, T2, T3]>; export declare function zip(source: Iterable, source2: Iterable, source3: Iterable, source4: Iterable): IterableX<[T, T2, T3, T4]>; export declare function zip(source: Iterable, source2: Iterable, source3: Iterable, source4: Iterable, source5: Iterable): IterableX<[T, T2, T3, T4, T5]>; export declare function zip(source: Iterable, source2: Iterable, source3: Iterable, source4: Iterable, source5: Iterable, source6: Iterable): IterableX<[T, T2, T3, T4, T5, T6]>; export declare function zip(project: (values: [T]) => R, source: Iterable): IterableX; export declare function zip(project: (values: [T, T2]) => R, source: Iterable, source2: Iterable): IterableX; export declare function zip(project: (values: [T, T2, T3]) => R, source: Iterable, source2: Iterable, source3: Iterable): IterableX; export declare function zip(project: (values: [T, T2, T3, T4]) => R, source: Iterable, source2: Iterable, source3: Iterable, source4: Iterable): IterableX; export declare function zip(project: (values: [T, T2, T3, T4, T5]) => R, source: Iterable, source2: Iterable, source3: Iterable, source4: Iterable, source5: Iterable): IterableX; export declare function zip(project: (values: [T, T2, T3, T4, T5, T6]) => R, source: Iterable, source2: Iterable, source3: Iterable, source4: Iterable, source5: Iterable, source6: Iterable): IterableX; export declare function zip(...sources: Iterable[]): IterableX; export declare function zip(project: (values: T[]) => R, ...sources: Iterable[]): IterableX;