import "../../Operator/index.js"; import type * as Tp from "../../Collections/Immutable/Tuple/index.js"; import type * as Ex from "../../Exit/index.js"; import type * as O from "../../Option/index.js"; import * as Q from "../../Queue/index.js"; import type { Stream } from "../Stream/definitions.js"; /** * Representation of a grouped stream. * This allows to filter which groups will be processed. * Once merge is used all groups will be processed in parallel and the results will * be merged in arbitrary order. */ export declare class GroupBy { readonly grouped: Stream, V>>]>>; readonly buffer: number; constructor(grouped: Stream, V>>]>>, buffer: number); merge(f: (k: K, stream: Stream) => Stream): Stream; } /** * Only consider the first n groups found in the stream. */ export declare function first_(self: GroupBy, n: number): GroupBy; /** * Only consider the first n groups found in the stream. */ export declare function first(n: number): (self: GroupBy) => GroupBy; /** * Filter the groups to be processed. */ export declare function filter_(self: GroupBy, f: (k: K) => boolean): GroupBy; /** * Filter the groups to be processed. */ export declare function filter(f: (k: K) => boolean): (self: GroupBy) => GroupBy; //# sourceMappingURL=index.d.ts.map