import * as tsplus_module_1 from "@effect/core/io/Exit/operations/interrupt";
import * as tsplus_module_2 from "@effect/core/io/Fiber/operations/done";
import { realFiber } from "@effect/core/io/Fiber/definition";
/**
 * A fiber that is already interrupted.
 *
 * @tsplus static ets/Fiber/Ops interruptAs
 */

export function interruptAs(fiberId) {
  return tsplus_module_2.done(tsplus_module_1.interrupt(fiberId));
}
/**
 * Interrupts the fiber as if interrupted from the specified fiber. If the
 * fiber has already exited, the returned effect will resume immediately.
 * Otherwise, the effect will resume when the fiber exits.
 *
 * @tsplus fluent ets/Fiber interruptAs
 * @tsplus fluent ets/RuntimeFiber interruptAs
 */

export function interruptAsNow_(self, fiberId, __tsplusTrace) {
  void 0;
  return self._interruptAs(fiberId);
}
/**
 * Interrupts the fiber as if interrupted from the specified fiber. If the
 * fiber has already exited, the returned effect will resume immediately.
 * Otherwise, the effect will resume when the fiber exits.
 *
 * @tsplus static ets/Fiber/Aspects interruptAs
 */

export const interruptAsNow = (fiberId, __tsplusTrace) => self => interruptAsNow_(self, fiberId, __tsplusTrace);
//# sourceMappingURL=interruptAs.mjs.map