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