import { Stream } from "@effect/core/stream/Stream/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
import { Take } from "@effect/core/stream/Take/definition";
import { Deferred } from "@effect/core/io/Deferred/definition";
/**
 * Allows a faster producer to progress independently of a slower consumer by
 * buffering up to `capacity` elements in a dropping queue.
 *
 * This combinator destroys the chunking structure. It's recommended to use
 * rechunk afterwards.
 *
 * Note: prefer capacities that are powers of 2 for better performance.
 * @tsplus fluent ets/Stream bufferDropping
 * @tsplus location "@effect/core/stream/Stream/operations/bufferDropping"
 */
export declare function bufferDropping_<R, E, A>(self: Stream<R, E, A>, capacity: number, __tsplusTrace?: string): Stream<R, E, A>;
/**
 * Allows a faster producer to progress independently of a slower consumer by
 * buffering up to `capacity` elements in a dropping queue.
 *
 * This combinator destroys the chunking structure. It's recommended to use
 * rechunk afterwards.
 *
 * Note: prefer capacities that are powers of 2 for better performance.
 * @tsplus static ets/Stream/Aspects bufferDropping
 * @tsplus pipeable ets/Stream bufferDropping
 * @tsplus location "@effect/core/stream/Stream/operations/bufferDropping"
 */
export declare const bufferDropping: (capacity: number, __tsplusTrace?: string) => <R, E, A>(self: import("../definition").Stream<R, E, A>) => import("../definition").Stream<R, E, A>;
//# sourceMappingURL=bufferDropping.d.ts.map