import type { ContextCallbackParams, DatumCallbackParams, HighlightState, SelectionState, SeriesCallbackParams, Styler } from '../../chart/callbackOptions'; import type { AgChartLabelOptions } from '../../chart/labelOptions'; import type { AgSeriesTooltip, AgSeriesTooltipRendererParams } from '../../chart/tooltipOptions'; import type { ContextDefault, DatumDefault, DatumKey, Opacity, PixelSize } from '../../chart/types'; import type { FillOptions, LineDashOptions, StrokeOptions } from '../cartesian/commonOptions'; import type { AgBaseSeriesThemeableOptions, AgMultiSeriesHighlightOptions } from '../seriesOptions'; export interface AgBaseRadialSeriesThemeableOptions extends AgBaseSeriesThemeableOptions, AgRadialSeriesStyle { /** Configuration for the labels shown on top of data points. */ label?: AgChartLabelOptions, TContext>; /** Series-specific tooltip configuration. */ tooltip?: AgSeriesTooltip>; /** Function used to return formatting for entire series, based on the given parameters.*/ styler?: Styler, AgRadialSeriesStyle>; /** A styler function for adjusting the styling of the radial columns. */ itemStyler?: Styler, AgRadialSeriesStyle>; /** Configuration for highlighting when a series or legend item is hovered over. */ highlight?: AgMultiSeriesHighlightOptions; } export interface AgRadialHighlightStyleOptions extends AgRadialSeriesStyle { /** The opacity of the whole series (line, fill, labels and markers, if any) */ opacity?: Opacity; } export interface AgRadialSeriesOptionsKeys { /** The key to use to retrieve angle values from the data. */ angleKey: DatumKey; /** The key to use to retrieve radius values from the data. */ radiusKey: DatumKey; } export interface AgRadialSeriesOptionsNames { /** A human-readable description of the angle values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */ angleName?: string; /** A human-readable description of the radius values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */ radiusName?: string; /** The text to display in the legend for this series. If supplied, matching items with the same value will be toggled together. */ legendItemName?: string; } export type AgRadialSeriesLabelFormatterParams = AgRadialSeriesOptionsKeys & AgRadialSeriesOptionsNames; export interface AgRadialSeriesTooltipRendererParams extends AgSeriesTooltipRendererParams, AgRadialSeriesOptionsKeys, AgRadialSeriesOptionsNames, AgRadialSeriesStyle { } export interface AgRadialSeriesStylerParams extends SeriesCallbackParams, ContextCallbackParams, AgRadialSeriesOptionsKeys, Required { /** An ID to be used to group stacked items. */ stackGroup?: string; } export type AgRadialSeriesItemStylerParams = DatumCallbackParams & ContextCallbackParams & AgRadialSeriesOptionsKeys & Required; export interface AgRadialSeriesStyle extends FillOptions, StrokeOptions, LineDashOptions { /** Apply rounded corners to each bar. */ cornerRadius?: PixelSize; }