import type { NumberFormatOptions } from "../../spec/web-chart.js";
import type { ChartModelBase } from "../chart-model/chart-model-base.js";

/** Adds support for working with data tooltip value formats. */
export abstract class WithSeriesDataTooltipValueFormat extends ChartModelBase {
  /**
   * Gets the data tooltip value format for a series.
   *
   * If the series index is out of bounds or the series list is empty, this function will return `undefined`.
   *
   * @param seriesIndex - The index of the series to retrieve the value format for.
   */
  getDataTooltipValueFormat(seriesIndex: number): NumberFormatOptions | undefined;
  /**
   * Sets the data tooltip value format for a series.
   *
   * @param seriesIndex - The index of the series to set the value format for.
   * @param valueFormat - The value format to set.
   */
  setDataTooltipValueFormat(seriesIndex: number, valueFormat: NumberFormatOptions | undefined): void;
}