var _a;

export const FiberSym = /*#__PURE__*/Symbol.for("@effect/core/io/Fiber");
export const _E = /*#__PURE__*/Symbol.for("@effect/core/io/Fiber/E");
export const _A = /*#__PURE__*/Symbol.for("@effect/core/io/Fiber/A");
/**
 * @tsplus unify ets/Fiber
 */

export function unifyFiber(self) {
  return self;
}
export const Fiber = {
  $: {}
};
/**
 * @tsplus macro remove
 */

export function realFiber(fiber) {//
}
/**
 * A synthetic fiber that is created from a pure value or that combines
 * existing fibers.
 *
 * @tsplus type ets/SyntheticFiber
 */

export class SyntheticFiber {
  constructor(_id, _await, _children, _inheritRefs, _poll, _interruptAs) {
    this._id = _id;
    this._await = _await;
    this._children = _children;
    this._inheritRefs = _inheritRefs;
    this._poll = _poll;
    this._interruptAs = _interruptAs;
    this._tag = "SyntheticFiber";
    this[_a] = FiberSym;
  }

}
_a = FiberSym;
export function makeSynthetic(_) {
  return new SyntheticFiber(_.id, _.await, _.children, _.inheritRefs, _.poll, _.interruptAs);
}
//# sourceMappingURL=definition.mjs.map