import type { XPure } from "./model";
/**
* ```haskell
* succeed :: a -> XPure s1 s2 _ _ a
* ```
*/
export declare const succeed: (a: A) => XPure;
export declare const total: (thunk: () => A) => XPure;
export declare const fail: (e: E) => XPure;
export declare const modify: (f: (s: S1) => readonly [S2, A]) => XPure;
export declare const suspend: (factory: () => XPure) => XPure;
export declare const sync: (thunk: () => A) => XPure;
export declare const partial_: (
f: () => A,
onThrow: (reason: unknown) => E
) => XPure;
export declare const partial: (
onThrow: (reason: unknown) => E
) => (f: () => A) => XPure;
//# sourceMappingURL=constructors.d.ts.map