import f from "./index-assertThisInitialized.js";
import m from "./index-inherits.js";
import h from "./index-createSuper.js";
import l from "./index-classCallCheck.js";
import v from "./index-createClass.js";
import o from "./index-defineProperty.js";
var T = 10, p = /* @__PURE__ */ (function() {
  function u() {
    l(this, u), o(this, "priority", void 0), o(this, "subPriority", 0);
  }
  return v(u, [{
    key: "validate",
    value: function(e, i) {
      return !0;
    }
  }]), u;
})(), D = /* @__PURE__ */ (function(u) {
  m(e, u);
  var s = h(e);
  function e(i, t, a, r, c) {
    var n;
    return l(this, e), n = s.call(this), n.value = i, n.validateValue = t, n.setValue = a, n.priority = r, c && (n.subPriority = c), n;
  }
  return v(e, [{
    key: "validate",
    value: function(t, a) {
      return this.validateValue(t, this.value, a);
    }
  }, {
    key: "set",
    value: function(t, a, r) {
      return this.setValue(t, a, this.value, r);
    }
  }]), e;
})(p), I = /* @__PURE__ */ (function(u) {
  m(e, u);
  var s = h(e);
  function e() {
    var i;
    l(this, e);
    for (var t = arguments.length, a = new Array(t), r = 0; r < t; r++)
      a[r] = arguments[r];
    return i = s.call.apply(s, [this].concat(a)), o(f(i), "priority", T), o(f(i), "subPriority", -1), i;
  }
  return v(e, [{
    key: "set",
    value: function(t, a) {
      if (a.timestampIsSet)
        return t;
      var r = /* @__PURE__ */ new Date(0);
      return r.setFullYear(t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate()), r.setHours(t.getUTCHours(), t.getUTCMinutes(), t.getUTCSeconds(), t.getUTCMilliseconds()), r;
    }
  }]), e;
})(p);
export {
  I as DateToSystemTimezoneSetter,
  p as Setter,
  D as ValueSetter
};
