import * as Ex from "../Exit"; import type { Cause } from "../Exit/Cause"; import type { Exit } from "../Exit/model"; import type { FiberId } from "./FiberId"; import type { Fiber, RuntimeFiber, SyntheticFiber } from "./model"; import { InterruptStatus } from "./model"; /** * ```haskell * _fold :: ( * Fiber e a, * ((Runtime e a) -> b), * ((Synthetic e a) -> b) * ) -> b * ``` * * Folds over the runtime or synthetic fiber. */ export declare const _fold: ( fiber: Fiber, onRuntime: (_: RuntimeFiber) => B, onSynthetic: (_: SyntheticFiber) => B ) => B; /** * ```haskell * fold :: (((Runtime e a) -> b), ((Synthetic e a) -> b)) -> Fiber e a -> b * ``` * * Folds over the runtime or synthetic fiber. */ export declare const fold: ( onRuntime: (_: RuntimeFiber) => B, onSynthetic: (_: SyntheticFiber) => B ) => (fiber: Fiber) => B; export declare const done: (exit: Ex.Exit) => SyntheticFiber; export declare const succeed: (a: A) => SyntheticFiber; export declare const fail: (e: E) => SyntheticFiber; export declare const halt: (cause: Cause) => SyntheticFiber; export declare const interruptAs: (id: FiberId) => SyntheticFiber; export declare const interruptible: InterruptStatus; export declare const uninterruptible: InterruptStatus; export declare const interruptStatus: (b: boolean) => InterruptStatus; //# sourceMappingURL=core.d.ts.map