import { AnyIterable } from "./types"; import { AsyncIterable } from "ix"; export interface GroupedItems { readonly key: string; readonly items: ReadonlyArray; } declare class GroupingProgressDisplay { private progress; constructor(progress: GroupingProgress); toString(): string; toJSON(): { state: GroupingState; groupingBytesPerSecond: number; readingBytesPerSecond: number; memory: number; groupingStartTime: number; groupingStopTime: number; readingStartTime: number; readingStopTime: number; groupedItems: number; groupedBytes: number; groupedGroups: number; readedItems: number; readedBytes: number; readedGroups: number; }; } declare type GroupingState = "READING" | "GROUPING" | "IDLE"; declare class GroupingProgress { groupedBytes: number; groupedItems: number; groupedGroups: number; readedBytes: number; readedGroups: number; readedItems: number; state: GroupingState; parsingStartTime: number; parsingStopTime: number; readingStartTime: number; readingStopTime: number; start(action: GroupingState): void; stop(action: GroupingState): void; constructor(); addChunk(chunk: number): void; addGroup(group: number): void; addItem(count?: number): void; readChunk(chunk: number): void; readGroup(group: number): void; readItem(count?: number): void; set(data: { currentSize?: number; items?: number; }): void; } export interface FileGroupByOptions { source: AnyIterable; groupingFn: (data: T) => number | string; progress?: (progress: GroupingProgressDisplay) => void; progressFrequency?: number; } export declare function fileGroupBy(args: FileGroupByOptions): AsyncIterable>; export {}; //# sourceMappingURL=fileGroupBy.d.ts.map