import { AsyncIterable } from "ix"; import { GroupedItems } from "./fileGroupBy"; import { AnyIterable } from "./types"; export interface TrailingGroupByArgs { groupBy: ((data: T) => string | number) | ((data: T) => Promise); maxGroupSize: number; totalItemsInMemory: number; } export declare function trailingGroupBy(args: TrailingGroupByArgs): (data: AnyIterable) => AsyncIterable>; export declare function trailingGroupBy(data: AnyIterable, args: TrailingGroupByArgs): AsyncIterable>; export interface TrailingMapArgs { mapFunc: (data: T) => Promise; maxConcurrency: number; } export declare function trailingMap(args: TrailingMapArgs): (data: AnyIterable) => AsyncIterable; export declare function trailingMap(data: AnyIterable, args: TrailingMapArgs): AsyncIterable; export declare function onDone(callback: () => void): (data: AnyIterable) => AsyncIterable; export declare function onDone(data: AnyIterable, callback: () => void): AsyncIterable; declare class ProgressTrack { items: number; isRunning: boolean; startTime: number; rollingDurations: number[]; addItem(): void; get average(): number; } declare class Progress { private progress; constructor(progress: ProgressTrack); toString(): string; toJSON(): { speed: number; items: number; }; } interface OnProgressArgs { progress: (data: Progress) => void; progressFrequency?: number; } export declare function onProgress(args: OnProgressArgs): (data: AnyIterable) => AsyncIterable; export declare function onProgress(data: AnyIterable, args: OnProgressArgs): AsyncIterable; export {}; //# sourceMappingURL=iteratorHelpers.d.ts.map