/** * @since 1.0.0 */ import type * as Effect from "@effect/io/Effect"; import type * as Exit from "@effect/io/Exit"; /** * @since 1.0.0 * @category symbols */ export declare const MergeDecisionTypeId: unique symbol; /** * @since 1.0.0 * @category symbols */ export type MergeDecisionTypeId = typeof MergeDecisionTypeId; /** * @since 1.0.0 * @category models */ export interface MergeDecision extends MergeDecision.Variance { } /** * @since 1.0.0 */ export declare namespace MergeDecision { /** * @since 1.0.0 * @category models */ interface Variance { readonly [MergeDecisionTypeId]: { _R: (_: never) => R; _E0: (_: E0) => void; _Z0: (_: Z0) => void; _E: (_: never) => E; _Z: (_: never) => Z; }; } } /** * @since 1.0.0 * @category constructors */ export declare const Done: (effect: Effect.Effect) => MergeDecision; /** * @since 1.0.0 * @category constructors */ export declare const Await: (f: (exit: Exit.Exit) => Effect.Effect) => MergeDecision; /** * @since 1.0.0 * @category constructors */ export declare const AwaitConst: (effect: Effect.Effect) => MergeDecision; /** * Returns `true` if the specified value is a `MergeDecision`, `false` * otherwise. * * @since 1.0.0 * @category refinements */ export declare const isMergeDecision: (u: unknown) => u is MergeDecision; /** * @since 1.0.0 * @category folding */ export declare const match: { (options: { readonly onDone: (effect: Effect.Effect) => Z2; readonly onAwait: (f: (exit: Exit.Exit) => Effect.Effect) => Z2; }): (self: MergeDecision) => Z2; (self: MergeDecision, options: { readonly onDone: (effect: Effect.Effect) => Z2; readonly onAwait: (f: (exit: Exit.Exit) => Effect.Effect) => Z2; }): Z2; }; //# sourceMappingURL=MergeDecision.d.ts.map