import type { ContextCallbackParams, DatumCallbackParams, HighlightState, Styler } from '../../chart/callbackOptions'; import type { AgDropShadowOptions } from '../../chart/dropShadowOptions'; import type { AgChartLabelOptions } from '../../chart/labelOptions'; import type { AgSeriesTooltip, AgSeriesTooltipRendererParams } from '../../chart/tooltipOptions'; import type { ContextDefault, CssColor, DatumDefault, DatumKey, Opacity, PixelSize } from '../../chart/types'; import type { AgColorType, FillOptions, LineDashOptions, StrokeOptions } from '../cartesian/commonOptions'; import type { AgBaseSeriesOptions, AgBaseSeriesThemeableOptions } from '../seriesOptions'; export type AgPyramidSeriesLabelOptions = AgChartLabelOptions; export interface AgPyramidSeriesStageLabelOptions extends AgChartLabelOptions { /** Placement of the label in relation to the chart. */ placement?: 'before' | 'after'; /** Spacing of the label in relation to the chart. */ spacing?: number; } export interface AgPyramidSeriesItemStylerParams extends DatumCallbackParams, ContextCallbackParams, AgPyramidSeriesOptionsKeys, Required { } export interface AgPyramidSeriesStyle extends FillOptions, StrokeOptions, LineDashOptions { } export interface AgPyramidSeriesLabelFormatterParams extends AgPyramidSeriesOptionsKeys { } export interface AgPyramidSeriesTooltipRendererParams extends AgPyramidSeriesOptionsKeys, AgPyramidSeriesOptionsNames, AgSeriesTooltipRendererParams, AgPyramidSeriesStyle { } export interface AgPyramidSeriesThemeableOptions extends Omit, 'selection'>, LineDashOptions { /** The colours to cycle through for the fills of the stages. */ fills?: AgColorType[]; /** The colours to cycle through for the strokes of the stages. */ strokes?: CssColor[]; /** The opacity of the fill for the stages. */ fillOpacity?: Opacity; /** The opacity of the stroke for the stages. */ strokeOpacity?: Opacity; /** The width in pixels of the stroke for the stages. */ strokeWidth?: PixelSize; /** Stage rendering direction. */ direction?: 'horizontal' | 'vertical'; /** Reverse the order of the stages. */ reverse?: boolean; /** Spacing between the stages. */ spacing?: number; /** Ratio of the triangle width to its height. When unset, the triangle will fill the available space. */ aspectRatio?: number; /** Configuration for the labels shown on stages. */ label?: AgPyramidSeriesLabelOptions, TContext>; /** Configuration for the stage labels. */ stageLabel?: AgPyramidSeriesStageLabelOptions, TContext>; /** Configuration for the shadow used behind the series items. */ shadow?: AgDropShadowOptions; /** Series-specific tooltip configuration. */ tooltip?: AgSeriesTooltip>; /** Function used to return formatting for individual bars, based on the given parameters.*/ itemStyler?: Styler, AgPyramidSeriesStyle>; } export interface AgPyramidSeriesOptionsKeys { /** The key to use to retrieve stage values from the data. */ stageKey: DatumKey; /** The key to use to retrieve values from the data. */ valueKey: DatumKey; } export interface AgPyramidSeriesOptionsNames { } export interface AgPyramidSeriesOptions extends Omit, 'selection'>, AgPyramidSeriesOptionsKeys, AgPyramidSeriesOptionsNames, AgPyramidSeriesThemeableOptions { /** Configuration for the Pyramid Series. */ type: 'pyramid'; }