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 the specified number of elements from the queue. If there are fewer
 * than the specified number of elements available, it retries until they
 * become available.
 * @tsplus fluent ets/TQueue takeN
 * @tsplus location "@effect/core/stm/TQueue/operations/takeN"
 */
export declare function takeN_<A>(self: TQueue<A>, n: number): USTM<Chunk<A>>;
/**
 * Takes the specified number of elements from the queue. If there are fewer
 * than the specified number of elements available, it retries until they
 * become available.
 * @tsplus static ets/TQueue/Aspects takeN
 * @tsplus pipeable ets/TQueue takeN
 * @tsplus location "@effect/core/stm/TQueue/operations/takeN"
 */
export declare const takeN: (n: number) => <A>(self: import("../definition").TQueue<A>) => import("../../STM").USTM<import("@tsplus/stdlib/collections/Chunk").Chunk<A>>;
//# sourceMappingURL=takeN.d.ts.map