import { TQueue } from "@effect/core/stm/TQueue/definition";
import { USTM } from "@effect/core/stm/STM/definition/base";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
/**
 * Takes a number of elements from the queue between the specified minimum and
 * maximum. If there are fewer than the minimum number of elements available,
 * retries until at least the minimum number of elements have been collected.
 * @tsplus fluent ets/TQueue takeBetween
 * @tsplus location "@effect/core/stm/TQueue/operations/takeBetween"
 */
export declare function takeBetween_<A>(self: TQueue<A>, min: number, max: number): USTM<Chunk<A>>;
/**
 * Takes a number of elements from the queue between the specified minimum and
 * maximum. If there are fewer than the minimum number of elements available,
 * retries until at least the minimum number of elements have been collected.
 * @tsplus static ets/TQueue/Aspects takeBetween
 * @tsplus pipeable ets/TQueue takeBetween
 * @tsplus location "@effect/core/stm/TQueue/operations/takeBetween"
 */
export declare const takeBetween: (min: number, max: number) => <A>(self: import("../definition").TQueue<A>) => import("../../STM").USTM<import("@tsplus/stdlib/collections/Chunk").Chunk<A>>;
//# sourceMappingURL=takeBetween.d.ts.map