import { Stream } from "@effect/core/stream/Stream/definition"; import { Effect } from "@effect/core/io/Effect/definition"; import { Dequeue, Queue } from "@effect/core/io/Queue/definition/common"; import { Exit } from "@effect/core/io/Exit/definition"; import { Maybe } from "@tsplus/stdlib/data/Maybe/definition"; import { Deferred } from "@effect/core/io/Deferred/definition"; import { Predicate } from "@tsplus/stdlib/data/Predicate"; import { Ref } from "@effect/core/io/Ref/definition"; import { HashMap } from "@tsplus/stdlib/collections/HashMap/definition"; import type { GroupBy } from "@effect/core/stream/GroupBy/definition/base"; import { GroupBySym } from "@effect/core/stream/GroupBy/definition/base"; import { _A, _E, _K, _R, _V } from "@effect/core/stream/GroupBy/definition/symbols"; export declare class GroupByInternal implements GroupBy { readonly stream: Stream; readonly key: (a: A) => Effect; readonly buffer: number; readonly [GroupBySym]: GroupBySym; readonly [_R]: (_: R) => void; readonly [_E]: () => E; readonly [_K]: () => K; readonly [_V]: () => V; readonly [_A]: () => A; constructor(stream: Stream, key: (a: A) => Effect, buffer: number); /** * Run the function across all groups, collecting the results in an * arbitrary order. */ apply(f: (k: K, stream: Stream) => Stream): Stream; grouped(): Stream, V>>]>; /** * Only consider the first `n` groups found in the stream. */ first(n: number): GroupByInternal; /** * Filter the groups to be processed. */ filter(f: Predicate): GroupByInternal; } /** * @tsplus macro remove */ export declare function concreteGroupBy(_: GroupBy): asserts _ is GroupByInternal; export declare class FirstInternal extends GroupByInternal { readonly n: number; constructor(stream: Stream, key: (a: A) => Effect, buffer: number, n: number); grouped(): Stream, V>>]>; } export declare class FilterInternal extends GroupByInternal { readonly f: Predicate; constructor(stream: Stream, key: (a: A) => Effect, buffer: number, f: Predicate); grouped(): Stream, V>>]>; } //# sourceMappingURL=GroupByInternal.d.ts.map