import { Duration } from "@tsplus/stdlib/data/Duration"; import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition"; import { Effect } from "@effect/core/io/Effect/definition"; import { Stream } from "@effect/core/stream/Stream/definition"; import { Channel } from "@effect/core/stream/Channel/definition/base"; /** * Throttles the chunks of this stream according to the given bandwidth * parameters using the token bucket algorithm. Allows for burst in the * processing of elements by allowing the token bucket to accumulate tokens up * to a `units + burst` threshold. Chunks that do not meet the bandwidth * constraints are dropped. The weight of each chunk is determined by the * `costFn` effectful function. * @tsplus static effect/core/stream/Stream.Aspects throttleEnforceEffect * @tsplus pipeable effect/core/stream/Stream throttleEnforceEffect * @tsplus location "@effect/core/stream/Stream/operations/throttleEnforceEffect" */ export declare function throttleEnforceEffect(units: number, duration: Duration, costFn: (input: Chunk) => Effect, burst?: number): (self: import("../definition").Stream) => import("../definition").Stream; //# sourceMappingURL=throttleEnforceEffect.d.ts.map