export declare const TQueueSym: unique symbol;
export declare type TQueueSym = typeof TQueueSym;
export declare const _A: unique symbol;
export declare type _A = typeof _A;
/**
 * A `TQueue` is a transactional queue. Offerors can offer values to the queue
 * and takers can take values from the queue.
 *
 * @tsplus type ets/TQueue
 */
export interface TQueue<A> {
}
/**
 * @tsplus type ets/TQueue/Ops
 */
export interface TQueueOps {
    $: TQueueAspects;
}
export declare const TQueue: TQueueOps;
/**
 * @tsplus type ets/TQueue/Aspects
 */
export interface TQueueAspects {
}
/**
 * @tsplus type ets/TQueue
 */
export declare type Strategy = BackPressure | Dropping | Sliding;
export interface BackPressure {
    _tag: "BackPressure";
}
export interface Dropping {
    _tag: "Dropping";
}
export interface Sliding {
    _tag: "Sliding";
}
/**
 * @tsplus static ets/TQueue/Ops BackPressure
 * @tsplus location "@effect/core/stm/TQueue/definition"
 */
export declare const BackPressure: Strategy;
/**
 * @tsplus static ets/TQueue/Ops Dropping
 * @tsplus location "@effect/core/stm/TQueue/definition"
 */
export declare const Dropping: Strategy;
/**
 * @tsplus static ets/TQueue/Ops Sliding
 * @tsplus location "@effect/core/stm/TQueue/definition"
 */
export declare const Sliding: Strategy;
//# sourceMappingURL=definition.d.ts.map