/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
const a = {
  Chart: "chart",
  Text: "chartText",
  Overlay: "chartOverlay",
  Overlays: "chartOverlays",
  Legend: "chartLegend",
  CursorCrosshair: "cursorCrosshair",
  Axis: "chartAxis",
  GaugeAxisTick: "gaugeAxisTick",
  GaugeNeedle: "gaugeNeedle",
  CategoryAxisFormat: "category",
  NumberAxisFormat: "number",
  DateAxisFormat: "date",
  Guide: "chartGuide",
  ScatterSeries: "scatterSeries",
  PieSeries: "pieSeries",
  PieTick: "pieTick",
  GaugeSeries: "gaugeSeries",
  LineSeries: "lineSeries",
  BarSeries: "barSeries",
  HistogramSeries: "histogramSeries",
  BoxPlotSeries: "boxPlotSeries",
  RadarSeries: "radarSeries",
  ComboLineAndBarSeries: "comboLineAndBarSeries",
  HeatSeries: "heatSeries",
  Buffer: "buffer",
  SizePolicy: "sizeScale",
  CalendarDateParts: "calendarDateParts"
}, g = {
  Count: "count",
  Sum: "sum",
  Minimum: "min",
  Maximum: "max",
  Average: "avg",
  StandardDeviation: "stddev",
  Variance: "var",
  ContinuousPercentile: "percentile-continuous",
  DiscretePercentile: "percentile-discrete",
  EnvelopeAggregate: "envelope-aggregate",
  CentroidAggregate: "centroid-aggregate",
  ConvexHullAggregate: "convex-hull-aggregate",
  NoAggregation: "no_aggregation"
}, d = {
  /*
   * No data transformation applied.
   */
  None: "none",
  /*
   * Logarithmic data transformation applied.
   */
  Log: "logarithmic",
  /*
   * Square root data transformation applied.
   */
  Sqrt: "squareRoot"
}, h = {
  Single: "singleColor",
  // fixed color value as indicated in markerSymbol
  Match: "colorMatch"
  // apply the color from the layer's renderer symbology
}, C = {
  Left: "left",
  Right: "right",
  Top: "top",
  Bottom: "bottom"
}, S = {
  Side: "sideBySide",
  Stacked: "stacked",
  Stacked100: "stacked100"
}, m = {
  Side: "sideBySide",
  MeanLines: "meanLines"
}, u = {
  Ascending: "ASC",
  Descending: "DESC"
}, y = {
  statisticType: g.Count,
  sortingOrder: u.Ascending
}, b = {
  Bezier: "bezier",
  MonotoneX: "monotoneX",
  MonotoneY: "monotoneY"
}, f = {
  Second: "seconds",
  Minute: "minutes",
  Hour: "hours",
  Day: "days",
  Week: "weeks",
  Month: "months",
  Quarter: "quarters",
  Year: "years"
}, p = {
  DayOfMonth: "dayOfMonth",
  DayOfWeek: "dayOfWeek",
  DayOfYear: "dayOfYear",
  HourOfDay: "hourOfDay",
  MonthOfYear: "monthOfYear",
  MinuteOfDay: "minuteOfDay",
  WeekOfYear: "weekOfYear",
  QuarterOfYear: "quarterOfYear"
}, B = {
  Second: "seconds",
  Minute: "minutes",
  Hour: "hours",
  Day: "days"
}, W = {
  Gradient: "gradient",
  Renderer: "renderer"
}, O = {
  Null: "null",
  Zero: "zero",
  Interpolate: "interpolate"
}, v = {
  Start: "equalIntervalsFromStartTime",
  End: "equalIntervalsFromEndTime"
}, x = {
  Hide: "hide",
  Rotate: "rotate",
  Stagger: "stagger",
  Wrap: "wrap"
}, T = {
  Same: "same",
  Newer: "newer",
  Older: "older",
  Unrecognized: "unrecognized"
}, A = {
  Value: "value",
  Date: "date",
  Category: "category"
}, D = {
  FeatureGauge: "featureGauge",
  StatisticGauge: "statisticGauge"
}, P = {
  Linear: "linear",
  Logarithmic: "logarithmic"
}, L = {
  Radial: "radial",
  Circular: "circular",
  Horizontal: "horizontal"
}, k = {
  YValue: "arcgis-charts-y-value",
  Mean: "arcgis-charts-mean",
  Median: "arcgis-charts-median",
  Category: "arcgis-charts-category",
  MultiAxes: "arcgis-charts-multi-axes"
}, M = {
  /**
   * A single calendar view showing all data in one calendar.
   */
  singleCalendarView: "SingleCalendarView",
  /**
   * Multiple sequential calendar views (e.g., years).
   */
  sequentialCalendarViews: "SequentialCalendarViews"
}, z = {
  equalInterval: "equal-interval",
  quantile: "quantile",
  naturalBreaks: "natural-breaks",
  manual: "manual"
};
function i(e) {
  return e.size === 2 && e.has(a.LineSeries) && e.has(a.BarSeries);
}
function n(e) {
  return e.size === 2 && e.has(a.LineSeries) && e.has(a.BoxPlotSeries) || e.size === 1 && e.has(a.BoxPlotSeries);
}
function G(e, t) {
  let r;
  if (e !== void 0 && e.length > 0)
    if (t !== void 0 && t >= 0 && t < e.length)
      r = e[t].type;
    else {
      const s = new Set(e.map((c) => c.type)), o = i(s), l = n(s);
      o === !0 ? r = a.ComboLineAndBarSeries : l ? r = a.BoxPlotSeries : s.size >= 2 ? r = void 0 : r = e[0].type;
    }
  return r;
}
function w(e, t = !0) {
  return t ? e?.xTemporalBinning : e?.yTemporalBinning;
}
const H = {
  isComboLineAndBarChart: i,
  isBoxPlotChart: n
};
export {
  D as G,
  y as S,
  a as W,
  g as a,
  d as b,
  h as c,
  C as d,
  S as e,
  m as f,
  u as g,
  b as h,
  f as i,
  p as j,
  B as k,
  W as l,
  O as m,
  v as n,
  x as o,
  T as p,
  A as q,
  P as r,
  L as s,
  k as t,
  M as u,
  z as v,
  G as w,
  w as x,
  H as y
};
