/// <reference path="../../index.d.ts" />
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { ColorStop, DataSeries } from "./interfaces.js";

/** @cssproperty [--calcite-graph-highlight-fill-color] - Specifies the fill color of the `highlight` element, when present. */
export abstract class Graph extends LitElement {
  /**
   * Array of values describing a single color stop ([offset, color, opacity])
   * These color stops should be sorted by offset value.
   */
  accessor colorStops: ColorStop[];
  /**
   * Array of tuples describing a single data point ([x, y])
   * These data points should be sorted by x-axis value.
   */
  accessor data: DataSeries;
  /** End of highlight color if highlighting range. */
  accessor highlightMax: number;
  /** Start of highlight color if highlighting range. */
  accessor highlightMin: number;
  /**
   * Highest point of the range.
   *
   * @required
   */
  accessor max: number;
  /**
   * Lowest point of the range.
   *
   * @required
   */
  accessor min: number;
}