let a = {};
const u = [], l = (e) => {
  u.push(e);
};
function p(e, r) {
  if (process.env.NODE_ENV !== "production" && !e && console !== void 0) {
    const n = u.reduce(
      (t, i) => i(t ?? "", "warning"),
      r
    );
    n && console.error(`Warning: ${n}`);
  }
}
function g(e, r) {
  if (process.env.NODE_ENV !== "production" && !e && console !== void 0) {
    const n = u.reduce(
      (t, i) => i(t ?? "", "note"),
      r
    );
    n && console.warn(`Note: ${n}`);
  }
}
function d() {
  a = {};
}
function f(e, r, n) {
  !r && !a[n] && (e(!1, n), a[n] = !0);
}
function s(e, r) {
  f(p, e, r);
}
function W(e, r) {
  f(g, e, r);
}
s.preMessage = l;
s.resetWarned = d;
s.noteOnce = W;
function $() {
}
let o = null;
function w() {
  d(), o = null;
}
function N(e) {
  const r = (n, t, i) => {
    if (!n)
      if (t === "deprecated") {
        const c = o;
        o || (o = {}), o[e] = o[e] || [], o[e].includes(i || "") || o[e].push(i || ""), c || console.warn(
          "[aplus-ui] There exists deprecated usage in your code:",
          o
        );
      } else
        s(n, `[aplus-ui: ${e}] ${i}`);
  };
  return r.deprecated = (n, t, i, c) => {
    r(
      n,
      "deprecated",
      `\`${t}\` is deprecated. Please use \`${i}\` instead.${c ? ` ${c}` : ""}`
    );
  }, process.env.NODE_ENV !== "production" ? r : (() => {
    const n = () => {
    };
    return n.deprecated = $, n;
  })();
}
export {
  g as note,
  w as resetWarning,
  N as useDevWarning,
  p as warning,
  s as warningOnce
};
