/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import { C as S } from "./chart-model.js";
import { s as c } from "./serial-chart-model.js";
import { g as f, a as h, e as p, b as _, f as M, s as k, h as y, c as L, i as C, d, j as m, k as b, l as u, m as V, n as A, o as l, p as v, q as W, r as z } from "./negative-values-stacked-to-baseline.js";
import { m as i } from "./model-setter.js";
var O = Object.defineProperty, P = Object.getOwnPropertyDescriptor, r = (n, e, t, j) => {
  for (var o = P(e, t), a = n.length - 1, g; a >= 0; a--)
    (g = n[a]) && (o = g(e, t, o) || o);
  return o && O(e, t, o), o;
};
class s extends S {
  /**
   * Gets the line style of the series based on the series index. If the index is out of bounds, it will return `undefined`.
   *
   * @param seriesIndex - The index of the series.
   */
  getSeriesLineStyle(e) {
    return f(e, this._config);
  }
  setSeriesLineStyle(e, t) {
    h(e, t, this._config);
  }
  /**
   * Gets the line width of the series based on the series index. If the index is out of bounds, it will return `undefined`.
   *
   * @param seriesIndex - The index of the series.
   */
  getSeriesLineWidth(e) {
    return p(e, this._config);
  }
  setSeriesLineWidth(e, t) {
    _(e, t, this._config);
  }
  /**
   * Gets the marker color of the series based on the series index. If the index is out of bounds, it will return `undefined`.
   *
   * @param seriesIndex - The index of the series.
   * @returns Color | undefined
   */
  getSeriesMarkerColor(e) {
    return M(e, this._config);
  }
  setSeriesMarkerColor(e, t) {
    k(e, t, this._config);
  }
  /**
   * Gets the marker style of the series based on the series index. If the index is out of bounds, it will return `undefined`.
   *
   * @param seriesIndex - The index of the series.
   */
  getSeriesMarkerStyle(e) {
    return y(e, this._config);
  }
  setSeriesMarkerStyle(e, t) {
    L(e, t, this._config);
  }
  /**
   * Gets the marker size of the series based on the series index. If the index is out of bounds, it will return `undefined`.
   *
   * @param seriesIndex - The index of the series.
   */
  getSeriesMarkerSize(e) {
    return C(e, this._config);
  }
  setSeriesMarkerSize(e, t) {
    d(e, t, this._config);
  }
  /**
   * Specify whether line segments of the series should be smoothed.
   *
   * @param seriesIndex - The index of the series.
   */
  isLineSmoothed(e) {
    return m(e, this._config);
  }
  setLineSmoothed(e, t) {
    b({
      smoothed: e,
      seriesIndex: t,
      config: this._config
    });
  }
  /**
   * Specify the color of the filled area for line chart.
   *
   * @param seriesIndex - The index of the series.
   */
  getConnectLines(e) {
    return u(e, this._config);
  }
  setConnectLines(e, t) {
    V({
      connect: e,
      seriesIndex: t,
      config: this._config
    });
  }
  /**
   * Specify whether the line series should show area.
   *
   * @param seriesIndex - The index of the series.
   */
  isAreaVisible(e) {
    return A(e, this._config);
  }
  setAreaVisible(e, t) {
    l({
      visible: e,
      seriesIndex: t,
      config: this._config
    });
  }
  /**
   * Indicate whether to show or hide the markers/bullets of the line series.
   *
   * @param seriesIndex - The index of the series.
   */
  isMarkerVisible(e) {
    return v(e, this._config);
  }
  setMarkerVisible(e, t) {
    W({
      visible: e,
      seriesIndex: t,
      config: this._config
    });
  }
  /**
   * Specify the color of the filled area for line chart.
   * **Note:** `areaColor` will be applied only if `showArea` is true, and is defaulted to the line color if not provided.
   *
   * @param seriesIndex - The index of the series.
   */
  getAreaColor(e) {
    return z(e, this._config);
  }
  setAreaColor(e, t) {
    l({
      visible: !0,
      seriesIndex: t,
      config: this._config
    }), c(e, t, this._config);
  }
}
r([
  i
], s.prototype, "setSeriesLineStyle");
r([
  i
], s.prototype, "setSeriesLineWidth");
r([
  i
], s.prototype, "setSeriesMarkerColor");
r([
  i
], s.prototype, "setSeriesMarkerStyle");
r([
  i
], s.prototype, "setSeriesMarkerSize");
r([
  i
], s.prototype, "setLineSmoothed");
r([
  i
], s.prototype, "setConnectLines");
r([
  i
], s.prototype, "setAreaVisible");
r([
  i
], s.prototype, "setMarkerVisible");
r([
  i
], s.prototype, "setAreaColor");
export {
  s as M
};
