/** * @since 2.0.0 */ import type * as Either from "./Either.js"; import type * as Option from "./Option.js"; import type * as STM from "./STM.js"; import type * as Types from "./Types.js"; /** * @since 2.0.0 * @category symbols */ export declare const TDeferredTypeId: unique symbol; /** * @since 2.0.0 * @category symbols */ export type TDeferredTypeId = typeof TDeferredTypeId; /** * @since 2.0.0 * @category models */ export interface TDeferred extends TDeferred.Variance { } /** * @since 2.0.0 */ export declare namespace TDeferred { /** * @since 2.0.0 * @category models */ interface Variance { readonly [TDeferredTypeId]: { readonly _A: Types.Invariant; readonly _E: Types.Invariant; }; } } declare const _await: (self: TDeferred) => STM.STM; export { /** * @since 2.0.0 * @category getters */ _await as await }; /** * @since 2.0.0 * @category mutations */ export declare const done: { /** * @since 2.0.0 * @category mutations */ (either: Either.Either): (self: TDeferred) => STM.STM; /** * @since 2.0.0 * @category mutations */ (self: TDeferred, either: Either.Either): STM.STM; }; /** * @since 2.0.0 * @category mutations */ export declare const fail: { /** * @since 2.0.0 * @category mutations */ (error: E): (self: TDeferred) => STM.STM; /** * @since 2.0.0 * @category mutations */ (self: TDeferred, error: E): STM.STM; }; /** * @since 2.0.0 * @category constructors */ export declare const make: () => STM.STM>; /** * @since 2.0.0 * @category getters */ export declare const poll: (self: TDeferred) => STM.STM>>; /** * @since 2.0.0 * @category mutations */ export declare const succeed: { /** * @since 2.0.0 * @category mutations */ (value: A): (self: TDeferred) => STM.STM; /** * @since 2.0.0 * @category mutations */ (self: TDeferred, value: A): STM.STM; }; //# sourceMappingURL=TDeferred.d.ts.map