import type { AsyncExit } from "./AsyncExit"; import type { Async } from "./model"; import { PromiseInstruction } from "./model"; export declare const succeed: (a: A) => Async; export declare const fail: (e: E) => Async; export declare const done: (exit: AsyncExit) => Async; export declare const suspend: (factory: () => Async) => Async; export declare const unfailable: ( promise: (onInterrupt: (f: () => void) => void) => Promise ) => Async; export declare const promise_: ( promise: (onInterrupt: (f: () => void) => void) => Promise, onError: (u: unknown) => E ) => Async; export declare const promise: ( onError: (u: unknown) => E ) => (promise: (onInterrupt: (f: () => void) => void) => Promise) => PromiseInstruction; export declare const total: (thunk: () => A) => Async; export declare const partial_: (thunk: () => A, onThrow: (error: unknown) => E) => Async; export declare const partial: (onThrow: (error: unknown) => E) => (thunk: () => A) => Async; //# sourceMappingURL=constructors.d.ts.map