import { Stream } from "@effect/core/stream/Stream/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Enqueue } from "@effect/core/io/Queue/definition/common";
import { Take } from "@effect/core/stream/Take/definition";
import { Effect } from "@effect/core/io/Effect/definition";
import { Scope } from "@effect/core/io/Scope/definition";
import { Channel } from "@effect/core/stream/Channel/definition/base";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
/**
 * Like `Stream.runIntoQueue`, but provides the result as a scoped effect to
 * allow for scope composition.
 * @tsplus fluent ets/Stream runIntoQueueScoped
 * @tsplus location "@effect/core/stream/Stream/operations/runIntoQueueScoped"
 */
export declare function runIntoQueueScoped_<R, E extends E1, A, E1>(self: Stream<R, E, A>, queue: LazyArg<Enqueue<Take<E1, A>>>, __tsplusTrace?: string): Effect<R | Scope, E | E1, void>;
/**
 * Like `Stream.runIntoQueue`, but provides the result as a scoped effect to
 * allow for scope composition.
 * @tsplus static ets/Stream/Aspects runIntoQueueScoped
 * @tsplus pipeable ets/Stream runIntoQueueScoped
 * @tsplus location "@effect/core/stream/Stream/operations/runIntoQueueScoped"
 */
export declare const runIntoQueueScoped: <A, E1>(queue: import("@tsplus/stdlib/data/Function").LazyArg<import("../../../io/Queue").Enqueue<import("../../Take").Take<E1, A>>>, __tsplusTrace?: string) => <R, E extends E1>(self: import("../definition").Stream<R, E, A>) => import("../../../io/Effect").Effect<import("../../../io/Scope").Scope | R, E | E1, void>;
//# sourceMappingURL=runIntoQueueScoped.d.ts.map