/// export declare type AnyIterable = Iterable | AsyncIterable; declare type CurriedBatchResult = >(curriedIterable: M) => UnwrapAnyIterable; declare type CurriedBufferResult = >(curriedIterable: M) => UnwrapAnyIterable_2; declare type CurriedTakeResult = >(curriedIterable: M) => UnwrapAnyIterable_4; declare type CurriedTimeResult = >(curriedIterable: M) => UnwrapAnyIterable_5; declare type FlatMapValue = B | AnyIterable | undefined | null | Promise | undefined | null>; declare interface IReadable { once: any; read: any; } declare interface ITimeConfig { progress?: (delta: [number, number], total: [number, number]) => any; total?: (time: [number, number]) => any; } declare interface IWritable { once: any; write: any; removeListener: any; } export declare type Iterableish = Iterable | Iterator | AsyncIterable | AsyncIterator; declare type UnArrayAnyIterable>> = A extends Array> ? T : never; declare type UnwrapAnyIterable> = M extends Iterable ? Iterable : M extends AsyncIterable ? AsyncIterable : never; declare type UnwrapAnyIterable_2> = M extends Iterable ? Iterable : M extends AsyncIterable ? AsyncIterable : never; declare type UnwrapAnyIterable_3> = M extends Iterable ? T[] : M extends AsyncIterable ? Promise : never; declare type UnwrapAnyIterable_4> = M extends Iterable ? Iterable : M extends AsyncIterable ? AsyncIterable : never; declare type UnwrapAnyIterable_5> = M extends Iterable ? Iterable : M extends AsyncIterable ? AsyncIterable : never; export declare function batch(size: number): CurriedBatchResult; export declare function batch>(size: number, iterable: M): UnwrapAnyIterable; export declare function buffer(size: number): CurriedBufferResult; export declare function buffer>(size: number, iterable: M): UnwrapAnyIterable_2; export declare function collect>(iterable: M): UnwrapAnyIterable_3; 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 function filter(filterFunc: (data: T) => data is S): (curriedIterable: AnyIterable) => AsyncIterableIterator; export declare function filter(filterFunc: (data: T) => boolean | Promise): (curriedIterable: AnyIterable) => AsyncIterableIterator; export declare function filter(filterFunc: (data: T) => data is S, iterable: AnyIterable): AsyncIterableIterator; export declare function filter(filterFunc: (data: T) => boolean | Promise, iterable: AnyIterable): AsyncIterableIterator; export declare function flatMap(func: (data: T) => FlatMapValue): (iterable: AnyIterable) => AsyncIterableIterator; export declare function flatMap(func: (data: T) => FlatMapValue, iterable: AnyIterable): AsyncIterableIterator; export declare function flatTransform(concurrency: number): { (func: (data: T) => FlatMapValue, iterable: AnyIterable): AsyncIterableIterator; (func: (data: T) => FlatMapValue): (iterable: AnyIterable) => AsyncIterableIterator; }; export declare function flatTransform(concurrency: number, func: (data: T) => FlatMapValue): (iterable: AnyIterable) => AsyncIterableIterator; export declare function flatTransform(concurrency: number, func: (data: T) => FlatMapValue, iterable: AnyIterable): AsyncIterableIterator; export declare function flatten(iterable: AnyIterable>): AsyncIterableIterator; export declare function fromStream(stream: IReadable): 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 function map(func: (data: T) => B | Promise): (iterable: AnyIterable) => AsyncIterableIterator; export declare function map(func: (data: T) => B | Promise, iterable: AnyIterable): AsyncIterableIterator; export declare function merge>>(...iterables: I): AsyncIterable>; export declare function parallelFlatMap(concurrency: number): { (func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator; (func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator; }; export declare function parallelFlatMap(concurrency: number, func: (data: T) => R | Promise): (iterable: AnyIterable) => AsyncIterableIterator; export declare function parallelFlatMap(concurrency: number, func: (data: T) => R | Promise, iterable: AnyIterable): AsyncIterableIterator; 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 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_4; export declare function tap(func: (data: T) => any): (iterable: AnyIterable) => AsyncIterableIterator; export declare function tap(func: (data: T) => any, iterable: AnyIterable): AsyncIterableIterator; export declare function time(config?: ITimeConfig): CurriedTimeResult; export declare function time>(config: ITimeConfig, iterable: M): UnwrapAnyIterable_5; 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 function writeToStream(stream: IWritable): (iterable: AnyIterable) => Promise; export declare function writeToStream(stream: IWritable, iterable: AnyIterable): Promise;