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

/** @since 5.0 */
export interface HeatmapLegendOptionsProperties extends Partial<Pick<HeatmapLegendOptions, "maxLabel" | "minLabel" | "title">> {}

/** @since 5.0 */
export default class HeatmapLegendOptions extends HeatmapLegendOptionsSuperclass {
  constructor(properties?: HeatmapLegendOptionsProperties);
  /**
   * The label used to describe max density areas in the legend. If not specified,
   *   then a localized version of "High" will display in the legend.
   *
   * @since 5.0
   */
  accessor maxLabel: string | null | undefined;
  /**
   * The label used to describe low density areas in the legend. If not specified,
   *   then a localized version of "Low" will display in the legend.
   *
   * @since 5.0
   */
  accessor minLabel: string | null | undefined;
  /**
   * Describes the variable driving the visualization. This is displayed
   *   as the title of the corresponding renderer in the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/) and
   *   takes precedence over a [field alias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Field/#alias).
   *
   * @since 5.0
   */
  accessor title: string | null | undefined;
}
declare const HeatmapLegendOptionsSuperclass: typeof JSONSupport & typeof ClonableMixin