export declare function joinIterables<T>(...iters: Iterable<T>[]): Generator<T, void, any>;
export declare function first<T>(stream: Iterable<T>): T | undefined;
export declare function once<T>(stream: Iterable<T>): Iterable<T>;
declare class IterWrapper<T> implements Iterable<T> {
    iter: Iterable<T>;
    constructor(iter: Iterable<T>);
    [Symbol.iterator](): Iterator<T, any, any>;
    map<U>(f: (t: T, index: number) => U): IterWrapper<U>;
    filter(p: (t: T, index: number) => boolean): IterWrapper<T>;
}
export declare function wrapIterable<T>(iter: Iterable<T>): IterWrapper<T>;
export declare function mergeIterables<T>(iterables: Iterable<T>[], comparator: (l: T, r: T) => number, distinct?: boolean): IterableIterator<T>;
export {};
//# sourceMappingURL=iterables.d.ts.map