import type { Styler } from '../../chart/callbackOptions'; import type { AgSeriesTooltip } from '../../chart/tooltipOptions'; import type { ContextDefault, DatumDefault } from '../../chart/types'; import type { AgBaseCartesianThemeableOptions, AgBaseSeriesOptions, AgMultiSeriesHighlightOptions } from '../seriesOptions'; import type { AgBarSeriesStyle } from './barOptions'; import type { AgBaseCartesianSeriesAxisOptions, AxisOptions, FillOptions, LineDashOptions, StrokeOptions } from './commonOptions'; import type { AgOhlcSeriesBaseItemStylerParams, AgOhlcSeriesBaseOptions, AgOhlcSeriesBaseTooltipRendererParams } from './ohlcBaseOptions'; export type AgCandlestickWickOptions = StrokeOptions & LineDashOptions; export interface AgCandlestickSeriesItemStylerParams extends AgOhlcSeriesBaseItemStylerParams, FillOptions { } export interface AgCandlestickSeriesTooltipRendererParams extends AgOhlcSeriesBaseTooltipRendererParams, AgOhlcSeriesBaseOptions, FillOptions { } export interface AgCandlestickSeriesItemOptions extends AgBarSeriesStyle { /** Options to style chart's wicks */ wick?: AgCandlestickWickOptions; } export interface AgCandlestickSeriesItem { /** Configuration for the rising series items. */ up?: AgCandlestickSeriesItemOptions; /** Configuration for the falling series items. */ down?: AgCandlestickSeriesItemOptions; } export interface AgCandlestickSeriesStyles { /** Configuration used for the series items. */ item?: AgCandlestickSeriesItem; } export interface AgCandlestickSeriesThemeableOptions extends Omit, 'showInLegend'>, AgCandlestickSeriesStyles { /** Series-specific tooltip configuration. */ tooltip?: AgSeriesTooltip>; /** Function used to return formatting for individual columns, based on the given parameters.*/ itemStyler?: Styler, AgCandlestickSeriesItemOptions>; /** Configuration for highlighting when a series or legend item is hovered over. */ highlight?: AgMultiSeriesHighlightOptions; } export interface AgCandlestickHighlightStyleOptions extends AgCandlestickSeriesItemOptions { /** The opacity of the whole series (line, fill, labels and markers, if any) */ opacity?: number; } export interface AgCandlestickSeriesOptions extends AgCandlestickSeriesThemeableOptions, Omit, 'highlight'>, AgBaseCartesianSeriesAxisOptions, AgOhlcSeriesBaseOptions, Omit, 'yKey'> { /** Configuration for the Candlestick Series. */ type: 'candlestick'; }