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/references/core/popup/content/BarChartMediaInfo/), [ColumnChartMediaInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ColumnChartMediaInfo/),
 * [LineChartMediaInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/content/LineChartMediaInfo/), [PieChartMediaInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/content/PieChartMediaInfo/),
 * and [ImageMediaInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ImageMediaInfo/).
 *
 * @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;
}