var _a, _b, _c, _d, _e;

import * as tsplus_module_1 from "@tsplus/stdlib/structure/Hash";
import * as tsplus_module_2 from "@tsplus/stdlib/structure/Equals";
export const isRuntimeConfigFlag = isRuntimeConfigFlag_1;
export const RuntimeConfigFlagSym = /*#__PURE__*/Symbol.for("@effect/core/io/RuntimeConfig/Flag");
export const RuntimeConfigFlag = {};
export class EnableCurrentFiber {
  constructor() {
    this._tag = "EnableCurrentFiber";
    this[_a] = RuntimeConfigFlagSym;
  }

  [(_a = RuntimeConfigFlagSym, tsplus_module_1.Hash.sym)]() {
    return tsplus_module_1.hashString(this._tag);
  }

  [tsplus_module_2.Equals.sym](that) {
    return isRuntimeConfigFlag_1(that) && this._tag === that._tag;
  }

}
export class LogRuntime {
  constructor() {
    this._tag = "LogRuntime";
    this[_b] = RuntimeConfigFlagSym;
  }

  [(_b = RuntimeConfigFlagSym, tsplus_module_1.Hash.sym)]() {
    return tsplus_module_1.hashString(this._tag);
  }

  [tsplus_module_2.Equals.sym](that) {
    return isRuntimeConfigFlag_1(that) && this._tag === that._tag;
  }

}
export class SuperviseOperations {
  constructor() {
    this._tag = "SuperviseOperations";
    this[_c] = RuntimeConfigFlagSym;
  }

  [(_c = RuntimeConfigFlagSym, tsplus_module_1.Hash.sym)]() {
    return tsplus_module_1.hashString(this._tag);
  }

  [tsplus_module_2.Equals.sym](that) {
    return isRuntimeConfigFlag_1(that) && this._tag === that._tag;
  }

}
export class TrackRuntimeMetrics {
  constructor() {
    this._tag = "TrackRuntimeMetrics";
    this[_d] = RuntimeConfigFlagSym;
  }

  [(_d = RuntimeConfigFlagSym, tsplus_module_1.Hash.sym)]() {
    return tsplus_module_1.hashString(this._tag);
  }

  [tsplus_module_2.Equals.sym](that) {
    return isRuntimeConfigFlag_1(that) && this._tag === that._tag;
  }

}
export class EnableFiberRoots {
  constructor() {
    this._tag = "EnableFiberRoots";
    this[_e] = RuntimeConfigFlagSym;
  }

  [(_e = RuntimeConfigFlagSym, tsplus_module_1.Hash.sym)]() {
    return tsplus_module_1.hashString(this._tag);
  }

  [tsplus_module_2.Equals.sym](that) {
    return isRuntimeConfigFlag_1(that) && this._tag === that._tag;
  }

}
/**
 * @tsplus static ets/RuntimeConfigFlag/Ops EnableCurrentFiber
 */

export const enableCurrentFiber = /*#__PURE__*/new EnableCurrentFiber();
/**
 * @tsplus static ets/RuntimeConfigFlag/Ops LogRuntime
 */

export const logRuntime = /*#__PURE__*/new LogRuntime();
/**
 * @tsplus static ets/RuntimeConfigFlag/Ops SuperviseOperations
 */

export const superviseOperations = /*#__PURE__*/new SuperviseOperations();
/**
 * @tsplus static ets/RuntimeConfigFlag/Ops TrackRuntimeMetrics
 */

export const trackRuntimeMetrics = /*#__PURE__*/new TrackRuntimeMetrics();
/**
 * @tsplus static ets/RuntimeConfigFlag/Ops EnableFiberRoots
 */

export const enableFiberRoots = /*#__PURE__*/new EnableFiberRoots();
/**
 * @tsplus static ets/RuntimeConfigFlag/Ops isRuntimeConfigFlag
 */

function isRuntimeConfigFlag_1(self) {
  return typeof self === "object" && self != null && RuntimeConfigFlagSym in self;
}
//# sourceMappingURL=Flag.mjs.map