import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Effect } from "@effect/core/io/Effect/definition";
import { Scope } from "@effect/core/io/Scope/definition";
import { Queue } from "@effect/core/io/Queue/definition/common";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
import { Take } from "@effect/core/stream/Take/definition";
import { Deferred } from "@effect/core/io/Deferred/definition";
import { Channel } from "@effect/core/stream/Channel/definition/base";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Ref } from "@effect/core/io/Ref/definition";
export declare function bufferSignal<R, E, A>(effect: LazyArg<Effect<Scope, never, Queue<Tuple<[Take<E, A>, Deferred<never, void>]>>>>, channel: LazyArg<Channel<R, unknown, unknown, unknown, E, Chunk<A>, unknown>>, __tsplusTrace?: string): Channel<R, unknown, unknown, unknown, E, Chunk<A>, void>;
//# sourceMappingURL=bufferSignal.d.ts.map