import { Stream } from "@effect/core/stream/Stream/definition";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Channel } from "@effect/core/stream/Channel/definition/base";
import { StreamInternal } from "@effect/core/stream/Stream/operations/_internal/StreamInternal";
/**
 * Creates a stream that groups on adjacent keys, calculated by function f.
 * @tsplus fluent ets/Stream groupAdjacentBy
 * @tsplus location "@effect/core/stream/Stream/operations/groupAdjacentBy"
 */
export declare function groupAdjacentBy_<R, E, A, K>(self: Stream<R, E, A>, f: (a: A) => K, __tsplusTrace?: string): StreamInternal<R, E, import("@tsplus/stdlib/data/Tuple").Tuple<[K, import("@tsplus/stdlib/collections/Chunk").Chunk<A>]>>;
/**
 * Creates a stream that groups on adjacent keys, calculated by function f.
 * @tsplus static ets/Stream/Aspects groupAdjacentBy
 * @tsplus pipeable ets/Stream groupAdjacentBy
 * @tsplus location "@effect/core/stream/Stream/operations/groupAdjacentBy"
 */
export declare const groupAdjacentBy: <A, K>(f: (a: A) => K, __tsplusTrace?: string) => <R, E>(self: import("../definition").Stream<R, E, A>) => StreamInternal<R, E, import("@tsplus/stdlib/data/Tuple").Tuple<[K, import("@tsplus/stdlib/collections/Chunk").Chunk<A>]>>;
//# sourceMappingURL=groupAdjacentBy.d.ts.map