import type MediaInfo from "./MediaInfo.js";
import type ChartMediaInfoValue from "../support/ChartMediaInfoValue.js";
import type { MediaInfoProperties } from "./MediaInfo.js";
import type { ChartMediaInfoValueProperties } from "../support/ChartMediaInfoValue.js";

export interface ChartMediaInfoProperties extends MediaInfoProperties {
  /** Defines the chart value. */
  value?: ChartMediaInfoValueProperties | null;
}

/**
 * Mixin for [BarChartMediaInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-BarChartMediaInfo.html), [ColumnChartMediaInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-ColumnChartMediaInfo.html),
 * [LineChartMediaInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-LineChartMediaInfo.html), and [PieChartMediaInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-PieChartMediaInfo.html).
 *
 * @since 4.11
 */
export default abstract class ChartMediaInfo extends MediaInfo {
  /** Defines the chart value. */
  get value(): ChartMediaInfoValue | null | undefined;
  set value(value: ChartMediaInfoValueProperties | null | undefined);
}