/// export declare type AnyIterable = Iterable | AsyncIterable; export declare function batch(size: number): CurriedBatchResult; export declare function batch>(size: number, iterable: M): UnwrapAnyIterableArray; export declare function buffer(size: number): CurriedBufferResult; export declare function buffer>(size: number, iterable: M): UnwrapAnyIterable; export declare function collect>(iterable: M): UnwrapToPromiseOrAsyncIterable; export declare function concat[]>(...iterables: I): Iterable>; export declare function concat[]>(...iterables: I): AsyncIterable>; export declare function consume(iterable: Iterable): void; export declare function consume(iterable: AsyncIterable): Promise; export declare type CurriedBatchResult = >(curriedIterable: M) => UnwrapAnyIterableArray; export declare type CurriedBufferResult = >(curriedIterable: M) => UnwrapAnyIterable; export declare type CurriedTakeResult = >(curriedIterable: M) => UnwrapAnyIterable; export declare type CurriedTimeResult = >(curriedIterable: M) => UnwrapAnyIterable; export declare function filter(filterFunc: (data: T) => data is S): (curriedIterable: AnyIterable) => AsyncGenerator; export declare function filter(filterFunc: (data: T) => boolean | Promise): (curriedIterable: AnyIterable) => AsyncGenerator; export declare function filter(filterFunc: (data: T) => data is S, iterable: AnyIterable): AsyncGenerator; export declare function filter(filterFunc: (data: T) => boolean | Promise, iterable: AnyIterable): AsyncGenerator; export declare function flatMap(func: (data: T) => FlatMapValue): (iterable: AnyIterable) => AsyncGenerator; export declare function flatMap(func: (data: T) => FlatMapValue, iterable: AnyIterable): AsyncGenerator; export declare type FlatMapValue = B | AnyIterable | undefined | null | Promise | undefined | null>; export declare function flatten(iterable: AnyIterable>): AsyncIterableIterator; export declare function flatTransform(concurrency: number): { (func: (data: T) => FlatMapValue, iterable: AnyIterable): AsyncGenerator; (func: (data: T) => FlatMapValue): (iterable: AnyIterable) => AsyncGenerator; }; export declare function flatTransform(concurrency: number, func: (data: T) => FlatMapValue): (iterable: AnyIterable) => AsyncGenerator; export declare function flatTransform(concurrency: number, func: (data: T) => FlatMapValue, iterable: AnyIterable): AsyncGenerator; export declare function fromStream(stream: ReadableStreamish): AsyncIterable; export declare function getIterator(iterable: Iterable | Iterator): Iterator; export declare function getIterator(iterable: AsyncIterable | AsyncIterator): AsyncIterator; export declare function getIterator(iterable: AsyncIterable | Iterable): AsyncIterator | Iterator; export declare type Iterableish = Iterable | Iterator | AsyncIterable | AsyncIterator; export declare function map(func: (data: T) => B | Promise): (iterable: AnyIterable) => AsyncGenerator; export declare function map(func: (data: T) => B | Promise, iterable: AnyIterable): AsyncGenerator; export declare function merge[]>(...iterables: I): AsyncIterable>; export declare function parallelFlatMap(concurrency: number): { (func: (data: T) => R | Promise, iterable: AnyIterable): AsyncGenerator; (func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncGenerator; }; export declare function parallelFlatMap(concurrency: number, func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncGenerator; export declare function parallelFlatMap(concurrency: number, func: (data: T) => R | Promise, iterable: AnyIterable): AsyncGenerator; export declare function parallelMap(concurrency: number): { (func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator; (func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator; }; export declare function parallelMap(concurrency: number, func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator; export declare function parallelMap(concurrency: number, func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator; export declare function parallelMerge[]>(...iterables: I): AsyncIterable>; export declare function pipeline(firstFn: () => T0): T0; export declare function pipeline(a0: () => T0, a1: (a: T0) => T1): T1; export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2): T2; export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3): T3; export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4): T4; export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5): T5; export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5, a6: (a: T5) => T6): T6; export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5, a6: (a: T5) => T6, a7: (a: T6) => T7): T7; export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5, a6: (a: T5) => T6, a7: (a: T6) => T7, a8: (a: T7) => T8): T8; export declare function pipeline(a0: () => T0, a1: (a: T0) => T1, a2: (a: T1) => T2, a3: (a: T2) => T3, a4: (a: T3) => T4, a5: (a: T4) => T5, a6: (a: T5) => T6, a7: (a: T6) => T7, a8: (a: T7) => T8, a9: (a: T8) => T9): T9; export declare interface ReadableStreamish { once: any; read: any; } export declare function reduce(func: (acc: B, value: T) => B): { (start: B): (iterable: AnyIterable) => Promise; (start: B, iterable: AnyIterable): Promise; }; export declare function reduce(func: (acc: B, value: T) => B, start: B): (iterable: AnyIterable) => Promise; export declare function reduce(func: (acc: B, value: T) => B, start: B, iterable: AnyIterable): Promise; export declare function take(count: number): CurriedTakeResult; export declare function take>(count: number, iterable: M): UnwrapAnyIterable; export declare function tap(func: (data: T) => any): (iterable: AnyIterable) => AsyncGenerator; export declare function tap(func: (data: T) => any, iterable: AnyIterable): AsyncGenerator; export declare function time(config?: TimeConfig): CurriedTimeResult; export declare function time>(config: TimeConfig, iterable: M): UnwrapAnyIterable; export declare interface TimeConfig { progress?: (delta: [number, number], total: [number, number]) => any; total?: (time: [number, number]) => any; } export declare function transform(concurrency: number): { (func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator; (func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator; }; export declare function transform(concurrency: number, func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator; export declare function transform(concurrency: number, func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator; export declare type UnArrayAnyIterable[]> = A extends AnyIterable[] ? T : never; export declare type UnwrapAnyIterable> = M extends Iterable ? Iterable : M extends AsyncIterable ? AsyncIterable : never; export declare type UnwrapAnyIterableArray> = M extends Iterable ? Generator : M extends AsyncIterable ? AsyncGenerator : never; export declare type UnwrapToPromiseOrAsyncIterable> = M extends Iterable ? T[] : M extends AsyncIterable ? Promise : never; export declare interface WritableStreamish { once: any; write: any; removeListener: any; } export declare function writeToStream(stream: WritableStreamish): (iterable: AnyIterable) => Promise; export declare function writeToStream(stream: WritableStreamish, iterable: AnyIterable): Promise; export { }