import * as T from "../../Task/_core"; import type { FiberId } from "../FiberId"; import type { Fiber } from "../model"; /** * ```haskell * interrupt :: Fiber e a -> Task _ _ (Exit e a) * ``` * * Interrupts the fiber from whichever fiber is calling this method. If the * fiber has already exited, the returned effect will resume immediately. * Otherwise, the effect will resume when the fiber exits. */ export declare const interrupt: (fiber: Fiber) => T.Task>; /** * ```haskell * interruptAllAs_ :: (Iterable (Fiber Any Any), FiberId) -> Task _ _ () * ``` * * Interrupts all fibers as by the specified fiber, awaiting their interruption. */ export declare const interruptAllAs_: (fs: Iterable>, id: FiberId) => T.IO; /** * ```haskell * interruptAllAs :: FiberId -> Iterable (Fiber Any Any) -> Task _ _ () * ``` * * Interrupts all fibers as by the specified fiber, awaiting their interruption. */ export declare const interruptAllAs: (id: FiberId) => (fs: Iterable>) => T.IO; /** * ```haskell * interruptFork :: Fiber e a -> Task _ _ () * ``` * * Interrupts the fiber from whichever fiber is calling this method. The * interruption will happen in a separate daemon fiber, and the returned * effect will always resume immediately without waiting. */ export declare const interruptFork: (fiber: Fiber) => T.Task; //# sourceMappingURL=interrupt.d.ts.map