import "../../../Operator/index.js";
import * as St from "../../../Structural/index.js";
export declare type TExit = Fail | Succeed | Retry | Die;
export declare const FailTypeId: unique symbol;
export declare type FailTypeId = typeof FailTypeId;
export declare class Fail {
readonly value: A;
readonly _typeId: FailTypeId;
constructor(value: A);
get [St.hashSym](): number;
[St.equalsSym](that: unknown): boolean;
}
export declare const DieTypeId: unique symbol;
export declare type DieTypeId = typeof DieTypeId;
export declare class Die {
readonly value: unknown;
readonly _typeId: DieTypeId;
constructor(value: unknown);
get [St.hashSym](): number;
[St.equalsSym](that: unknown): boolean;
}
export declare const SucceedTypeId: unique symbol;
export declare type SucceedTypeId = typeof SucceedTypeId;
export declare class Succeed {
readonly value: B;
readonly _typeId: SucceedTypeId;
constructor(value: B);
get [St.hashSym](): number;
[St.equalsSym](that: unknown): boolean;
}
export declare const RetryTypeId: unique symbol;
export declare type RetryTypeId = typeof RetryTypeId;
export declare class Retry {
readonly _typeId: RetryTypeId;
get [St.hashSym](): number;
[St.equalsSym](that: unknown): boolean;
}
export declare const unit: TExit;
export declare function succeed(a: A): TExit;
export declare function fail(e: E): TExit;
export declare function die(e: unknown): TExit;
export declare const retry: TExit;
//# sourceMappingURL=index.d.ts.map