export declare function map(f: (x: A) => B): (xs: Iterable) => IterableIterator; export declare function tap(f: (x: X) => any): (xs: Iterable) => IterableIterator; export declare const inspect: typeof tap; export declare function forEach(f: (x: X) => any): (xs: Iterable) => void; export declare const subscribe: typeof forEach; export declare function reduce(f: (acc: R, x: X) => R, init: R): (xs: Iterable) => R; export declare function scan(f: (acc: R, x: X) => R, init: R): (xs: Iterable) => IterableIterator; export declare const reducutions: typeof scan; export declare function some(p: (x: X) => boolean): (xs: Iterable) => boolean; export declare function every(p: (x: X) => boolean): (xs: Iterable) => boolean; export declare function filter(p: (x: X) => boolean): (xs: Iterable) => IterableIterator; export declare function partition(p: (x: X) => boolean): (xs: Iterable) => [IterableIterator, IterableIterator]; export declare function skip(n: number): (xs: Iterable) => IterableIterator; export declare function take(n: number): (xs: Iterable) => IterableIterator; export declare function partitionAt(n: number): (xs: Iterable) => [IterableIterator, IterableIterator]; export declare const splitAt: typeof partitionAt; export declare function skipWhile(f: (x: X) => boolean): (xs: Iterable) => IterableIterator; export declare function takeWhile(f: (x: X) => boolean): (xs: Iterable) => IterableIterator; export declare function partitionWhile(f: (x: X) => boolean): (xs: Iterable) => [IterableIterator, IterableIterator]; export declare function find(p: (x: X) => boolean): (xs: Iterable) => X; export declare function findIndex(p: (x: X) => boolean): (xs: Iterable) => number; export declare function pluck(key: string | number): (xs: Iterable) => IterableIterator; export declare function select(keys: Array): (xs: Iterable) => IterableIterator; export declare function unzip2(): (xs: Iterable<[X, Y]>) => [IterableIterator, IterableIterator]; export declare function unzip3(): (xs: Iterable<[X, Y, Z]>) => [IterableIterator, IterableIterator, IterableIterator]; export declare function unzip(n?: number): (xs: Iterable<{}[]>) => IterableIterator<{}>[]; export declare function groupBy(f: (x: X) => K): (xs: Iterable) => Map; export declare function groupByKey(key: string | number): (xs: Iterable) => Map; export declare function mapKeys(f: (k: KA) => KB): (xs: Iterable<[KA, V]>) => IterableIterator<[KB, V]>; export declare function mapValues(f: (v: VA) => VB): (xs: Iterable<[K, VA]>) => IterableIterator<[K, VB]>; export declare function pairwise(): (xs: Iterable) => IterableIterator<[X, X]>; export declare function length(): (xs: Iterable<{}>) => number; export declare function min(): (xs: Iterable) => number; export declare function max(): (xs: Iterable) => number; export declare function minMax(): (xs: Iterable) => [number, number]; export declare function minBy(cf: (a: X, b: X) => number): (xs: Iterable) => X; export declare function maxBy(cf: (a: X, b: X) => number): (xs: Iterable) => X; export declare function minMaxBy(cf: (a: X, b: X) => number): (xs: Iterable) => [X, X]; export declare function minByScan(cf: (a: X, b: X) => number): (xs: Iterable) => IterableIterator; export declare function maxByScan(cf: (a: X, b: X) => number): (xs: Iterable) => IterableIterator; export declare function sum(zero?: number): (xs: Iterable) => number; export declare function replaceWhen(pf: (x: X) => boolean, ys: Iterable): (xs: Iterable) => IterableIterator; export declare function grouped(n: number, step?: number): (xs: Iterable) => IterableIterator; export declare function startWith(...as: X[]): (xs: Iterable) => IterableIterator; export declare function endWith(...zs: X[]): (xs: Iterable) => IterableIterator; export declare function sort(cf: (a: X, b: X) => number): (xs: Iterable) => IterableIterator; export declare function sortScan(cf: (a: X, b: X) => number): (xs: Iterable) => IterableIterator; export declare function flatMap(f: (x: A) => B): (xss: Iterable>) => IterableIterator; export declare function distinctUntilChanged(comp?: (a: X, b: X) => boolean): (xs: Iterable) => IterableIterator; export declare function unique(comp?: (a: X, b: X) => boolean): (xs: Iterable) => IterableIterator; export declare function uniqueSorted(comp?: (a: X, b: X) => boolean): (xs: Iterable) => IterableIterator; export declare function range(start?: number, end?: number, step?: number): IterableIterator; export declare function enumerate(xs: Iterable): IterableIterator<[number, X]>; export declare function concat(...xss: Iterable[]): IterableIterator; export declare const chain: typeof concat; export declare function zip2(xs: Iterable, ys: Iterable): IterableIterator<[X, Y]>; export declare function zip3(xs: Iterable, ys: Iterable, zs: Iterable): IterableIterator<[X, Y, Z]>; export declare function zip(...xss: Iterable<{}>[]): IterableIterator<{}[]>; export declare function zipOuter(...xss: Iterable<{}>[]): IterableIterator<{}[]>; export declare function product2(as: Iterable, bs: Iterable): IterableIterator<[A, B]>; export declare function product3(as: Iterable, bs: Iterable, cs: Iterable): IterableIterator<[A, B, C]>; export declare function product(xs: Iterable<{}>, ...xss: Iterable<{}>[]): IterableIterator<{}[]>; export declare function combinations2(xs: Iterable): IterableIterator<[X, X]>; export declare function combinations3(xs: Iterable): IterableIterator<[X, X, X]>; export declare function combinations(xs: Iterable<{}>, r?: number): IterableIterator<{}[]>; export declare function combinationsWithReplacement2(xs: Iterable): IterableIterator<[X, X]>; export declare function combinationsWithReplacement3(xs: Iterable): IterableIterator<[X, X, X]>; export declare function combinationsWithReplacement(xs: Iterable<{}>, r?: number): IterableIterator<{}[]>; export declare function permutations2(xs: Iterable): IterableIterator<[X, X]>; export declare function permutations3(xs: Iterable): IterableIterator<[X, X, X]>; export declare function permutations(xs: Iterable<{}>, r?: number): IterableIterator<{}[]>; export declare function constantly(value: X): IterableIterator; export declare function cycle(xs: Iterable): IterableIterator; export declare function repeat(xs: Iterable, n: number): IterableIterator; export declare function interleave2(xs: Iterable, ys: Iterable): IterableIterator; export declare function interleave3(xs: Iterable, ys: Iterable, zs: Iterable): IterableIterator; export declare function interleave(...xss: Iterable<{}>[]): IterableIterator<{}>; export declare function pipe(x: T1): T1; export declare function pipe(x: T1, f1: (x: T1) => T2): T2; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3): T3; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4): T4; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5): T5; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6): T6; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7): T7; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8): T8; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8, f8: (x: T8) => T9): T9; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8, f8: (x: T8) => T9, f9: (x: T9) => T10): T10; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8, f8: (x: T8) => T9, f9: (x: T9) => T10, f10: (x: T10) => T11): T11; export declare function pipe(x: T1, f1: (x: T1) => T2, f2: (x: T2) => T3, f3: (x: T3) => T4, f4: (x: T4) => T5, f5: (x: T5) => T6, f6: (x: T6) => T7, f7: (x: T7) => T8, f8: (x: T8) => T9, f9: (x: T9) => T10, f10: (x: T10) => T11, f11: (x: T11) => T12): T12;