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 { Dequeue } from "@effect/core/io/Queue/definition/common";
import { Exit } from "@effect/core/io/Exit/definition";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
/**
 * Converts the stream to a scoped queue of elements. After the scope is
 * closed, the queue will never again produce values and should be discarded.
 * @tsplus fluent ets/Stream toQueueOfElements
 * @tsplus location "@effect/core/stream/Stream/operations/toQueueOfElements"
 */
export declare function toQueueOfElements_<R, E, A>(self: Stream<R, E, A>, capacity?: number, __tsplusTrace?: string): Effect<R | Scope, never, Dequeue<Exit<Maybe<E>, A>>>;
/**
 * Converts the stream to a scoped queue of elements. After the scope is
 * closed, the queue will never again produce values and should be discarded.
 * @tsplus static ets/Stream/Aspects toQueueOfElements
 * @tsplus pipeable ets/Stream toQueueOfElements
 * @tsplus location "@effect/core/stream/Stream/operations/toQueueOfElements"
 */
export declare const toQueueOfElements: (capacity?: number, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Stream<R, E, A>) => import("../../../io/Effect").Effect<import("../../../io/Scope").Scope | R, never, import("../../../io/Queue").Dequeue<import("../../../io/Exit").Exit<import("@tsplus/stdlib/data/Maybe").Maybe<E>, A>>>;
//# sourceMappingURL=toQueueOfElements.d.ts.map