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 { AgBaseCartesianSeriesAxisOptions, AxisOptions, LineDashOptions, StrokeOptions } from './commonOptions'; import type { AgOhlcSeriesBaseItemStylerParams, AgOhlcSeriesBaseOptions, AgOhlcSeriesBaseTooltipRendererParams } from './ohlcBaseOptions'; export type AgOhlcSeriesItemStylerParams = AgOhlcSeriesBaseItemStylerParams; export interface AgOhlcSeriesTooltipRendererParams extends AgOhlcSeriesBaseTooltipRendererParams, AgOhlcSeriesBaseOptions, AgOhlcSeriesItemOptions { } export type AgOhlcSeriesItemOptions = StrokeOptions & LineDashOptions; export interface AgOhlcSeriesItem { /** Configuration for the rising series items. */ up?: AgOhlcSeriesItemOptions; /** Configuration for the falling series items. */ down?: AgOhlcSeriesItemOptions; } export interface AgOhlcSeriesStyles { /** Configuration used for the series items. */ item?: AgOhlcSeriesItem; } export interface AgOhlcSeriesThemeableOptions extends Omit, 'showInLegend'>, AgOhlcSeriesStyles { /** Series-specific tooltip configuration. */ tooltip?: AgSeriesTooltip>; /** Function used to return formatting for individual items, based on the given parameters.*/ itemStyler?: Styler, AgOhlcSeriesItemOptions>; /** Configuration for highlighting when a series or legend item is hovered over. */ highlight?: AgMultiSeriesHighlightOptions; } export interface AgOhlcHighlightStyleOptions extends AgOhlcSeriesItemOptions { /** The opacity of the whole series (line, fill, labels and markers, if any) */ opacity?: number; } export interface AgOhlcSeriesOptions extends AgOhlcSeriesThemeableOptions, Omit, 'highlight'>, AgBaseCartesianSeriesAxisOptions, AgOhlcSeriesBaseOptions, Omit, 'yKey'> { /** Configuration for the OHLC Series. */ type: 'ohlc'; }