import type { ChartModel } from "../chart-model/chart-model.js";
import type { WebChartLegendPositions } from "../../spec/chart-object-literals.js";
import type { WebChartTextSymbol } from "../../spec/web-chart.js";

export abstract class ModelWithLegend extends ChartModel {
  /** Maximum legend height. */
  accessor legendMaxHeight: number | undefined;
  /** Legend position: `top`, `bottom`, `left`, or `right`. */
  accessor legendPosition: WebChartLegendPositions;
  /** Whether legend markers are rounded. */
  accessor legendRoundMarker: boolean;
  /** Legend item text symbol (font, color, style). */
  accessor legendTextSymbol: WebChartTextSymbol | undefined;
  /** Legend title text symbol (font, color, style). */
  accessor legendTitleSymbol: WebChartTextSymbol | undefined;
  /** The legend title text. */
  accessor legendTitleText: string;
  /** Whether the legend title is visible. */
  accessor legendTitleVisibility: boolean;
  /** Whether the legend title is visible. */
  accessor legendVisibility: boolean;
}