import { Stream } from "@effect/core/stream/Stream/definition";
import { Effect } from "@effect/core/io/Effect/definition";
import { Scope } from "@effect/core/io/Scope/definition";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Dequeue } from "@effect/core/io/Queue/definition/common";
import { Take } from "@effect/core/stream/Take/definition";
/**
 * Converts the stream to a managed list of queues. Every value will be
 * replicated to every queue with the slowest queue being allowed to buffer
 * `maximumLag` chunks before the driver is back pressured.
 *
 * Queues can unsubscribe from upstream by shutting down.
 * @tsplus fluent ets/Stream broadcastedQueues
 * @tsplus location "@effect/core/stream/Stream/operations/broadcastedQueues"
 */
export declare function broadcastedQueues_<R, E, A>(self: Stream<R, E, A>, n: number, maximumLag: number, __tsplusTrace?: string): Effect<R | Scope, never, Chunk<Dequeue<Take<E, A>>>>;
/**
 * Converts the stream to a managed list of queues. Every value will be
 * replicated to every queue with the slowest queue being allowed to buffer
 * `maximumLag` chunks before the driver is back pressured.
 *
 * Queues can unsubscribe from upstream by shutting down.
 * @tsplus static ets/Stream/Aspects broadcastedQueues
 * @tsplus pipeable ets/Stream broadcastedQueues
 * @tsplus location "@effect/core/stream/Stream/operations/broadcastedQueues"
 */
export declare const broadcastedQueues: (n: number, maximumLag: number, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Stream<R, E, A>) => import("../../../io/Effect").Effect<import("../../../io/Scope").Scope | R, never, import("@tsplus/stdlib/collections/Chunk").Chunk<import("../../../io/Queue").Dequeue<import("../../Take").Take<E, A>>>>;
//# sourceMappingURL=broadcastedQueues.d.ts.map