import type { AgChartLabelStyleOptions } from './labelOptions'; import type { AxisValue, CssColor, FontFamilyFull, Opacity, PixelSize } from './types'; export interface AgCrossLineThemeOptions extends Omit, 'type' | 'value' | 'range'> { } export interface AgBaseCrossLineOptions { /** Whether to show the Cross Line. */ enabled?: boolean; /** Type of Cross Line to render, defaults to `line`. */ type: 'line' | 'range'; /** The data value at which the line should be positioned. This property is used if the Cross Line type is `line`. */ value?: AxisValue; /** The range of values from the data used to display lines at a desired chart region. This property is only used for Cross Line type `range`. */ range?: [AxisValue, AxisValue]; /** The colour to use for the fill of the range. */ fill?: CssColor; /** The opacity of the fill for the range. */ fillOpacity?: Opacity; /** The colour of the stroke for the lines. */ stroke?: CssColor; /** The width in pixels of the stroke for the lines. */ strokeWidth?: PixelSize; /** The opacity of the stroke for the lines. */ strokeOpacity?: Opacity; /** Defines how the line stroke is rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */ lineDash?: PixelSize[]; /** Configuration for the Cross Line label. */ label?: LabelType; } export interface AgBaseCrossLineLabelOptions extends Omit { /** The text to show in the label. */ text?: string; /** The font family to use for the label. */ fontFamily?: FontFamilyFull; } export type AgCrossLineLabelPosition = 'top' | 'left' | 'right' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'inside' | 'inside-left' | 'inside-right' | 'inside-top' | 'inside-bottom' | 'inside-top-left' | 'inside-bottom-left' | 'inside-top-right' | 'inside-bottom-right';