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

export interface VisualVariableLegendOptionsProperties extends JSONSupportMixinProperties, ClonableMixinProperties, Partial<Pick<VisualVariableLegendOptions, "showLegend" | "title">> {}

export default abstract class VisualVariableLegendOptions extends VisualVariableLegendOptionsSuperclass {
  /** Indicates whether to show the visual variable in the legend. */
  accessor showLegend: boolean | null | undefined;
  /**
   * The title describing the visualization of
   *   the visual variable in the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-legend/). This takes precedence over
   *   a field alias or [VisualVariable#valueExpressionTitle](https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-visualVariables-VisualVariable.html#valueExpressionTitle).
   */
  accessor title: string | null | undefined;
}
declare const VisualVariableLegendOptionsSuperclass: typeof JSONSupport & typeof ClonableMixin