// ets_tracing: off
import { Tagged } from "@effect-ts/core/Case";
import * as Equal from "@effect-ts/core/Equal";
export class DefaultFont extends Tagged("DefaultFont") {
  constructor() {
    super(...arguments);
    this._actionTag = "Font";
  }

}
export class DefaultHorizontalLayout extends Tagged("DefaultHorizontalLayout") {
  constructor() {
    super(...arguments);
    this._actionTag = "HorizontalLayout";
  }

}
export class DefaultJustification extends Tagged("DefaultJustification") {
  constructor() {
    super(...arguments);
    this._actionTag = "Justification";
  }

}
export class DefaultMaxWidth extends Tagged("DefaultMaxWidth") {
  constructor() {
    super(...arguments);
    this._actionTag = "MaxWidth";
  }

}
export class DefaultPrintDirection extends Tagged("DefaultPrintDirection") {
  constructor() {
    super(...arguments);
    this._actionTag = "PrintDirection";
  }

}
export class LoadFont extends Tagged("LoadFont") {
  constructor() {
    super(...arguments);
    this._actionTag = "Font";
  }

}
export class LoadInternalFont extends Tagged("LoadInternalFont") {
  constructor() {
    super(...arguments);
    this._actionTag = "Font";
  }

}
export class SetFont extends Tagged("SetFont") {
  constructor() {
    super(...arguments);
    this._actionTag = "Font";
  }

}
export class SetHorizontalLayout extends Tagged("SetHorizontalLayout") {
  constructor() {
    super(...arguments);
    this._actionTag = "HorizontalLayout";
  }

}
export class SetJustification extends Tagged("SetJustification") {
  constructor() {
    super(...arguments);
    this._actionTag = "Justification";
  }

}
export class SetMaxWidth extends Tagged("SetMaxWidth") {
  constructor() {
    super(...arguments);
    this._actionTag = "MaxWidth";
  }

}
export class SetPrintDirection extends Tagged("SetPrintDirection") {
  constructor() {
    super(...arguments);
    this._actionTag = "PrintDirection";
  }

}
export class SetText extends Tagged("SetText") {
  constructor() {
    super(...arguments);
    this._actionTag = "Text";
  }

} // -----------------------------------------------------------------------------
// Operations
// -----------------------------------------------------------------------------

/**
 * Determines if two actions belong to the same group by using the action's
 * `ActionTag`.
 */

export function sameGroupAs_(a, b) {
  return Equal.string.equals(a._actionTag, b._actionTag);
}
/**
 * Determines if two actions belong to the same group by using the action's
 * `ActionTag`.
 *
 * @ets_data_first sameGroupAs_
 */

export function sameGroupAs(b) {
  return a => sameGroupAs_(a, b);
}
//# sourceMappingURL=index.mjs.map