import { THub } from "@effect/core/stm/THub/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/THub/TDequeue takeBetween
 * @tsplus location "@effect/core/stm/THub/operations/TDequeue/takeBetween"
 */
export declare function takeBetween_<A>(self: THub.TDequeue<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/THub/TDequeue/Aspects takeBetween
 * @tsplus pipeable ets/THub/TDequeue takeBetween
 * @tsplus location "@effect/core/stm/THub/operations/TDequeue/takeBetween"
 */
export declare const takeBetween: (min: number, max: number) => <A>(self: import("../../definition").THub.TDequeue<A>) => import("../../../STM").USTM<import("@tsplus/stdlib/collections/Chunk").Chunk<A>>;
//# sourceMappingURL=takeBetween.d.ts.map