import type { JSONSupport } from "../../../core/JSONSupport.js";

export interface MediaInfoProperties extends Partial<Pick<MediaInfo, "altText" | "caption" | "title">> {}

/**
 * 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), [PieChartMediaInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-PieChartMediaInfo.html),
 * and [ImageMediaInfo](https://developers.arcgis.com/javascript/latest/api-reference/esri-popup-content-ImageMediaInfo.html).
 *
 * @since 4.11
 */
export default abstract class MediaInfo extends JSONSupport {
  /**
   * Provides an alternate text for an image if the image cannot be displayed.
   *
   * @since 4.16
   */
  accessor altText: string | null | undefined;
  /**
   * Defines a caption for the media.
   *
   * @default ""
   */
  accessor caption: string;
  /**
   * The title of the media element.
   *
   * @default ""
   */
  accessor title: string;
}