import type { ScaleLinear, ScaleTime } from 'd3-scale'; import type { Line, TimeValue } from '../../../common/timeSeries/models'; interface AnchorPoint { areaColor: string; lineColor: string; transparency: number; xScale: ScaleTime; yScale: ScaleLinear; } export interface RegularLinesAnchorPoint extends AnchorPoint { metric: string; timeSeries: Array; } export interface StackedAnchorPoint extends AnchorPoint { stack: Array; } export interface StackData { data: TimeValue; } export type StackValue = [number, number, StackData]; export interface GuidingLines { graphHeight: number; graphWidth: number; timeSeries: Array; xScale: ScaleTime; maxLeftAxisCharacters: number; leftScale?: ScaleLinear; lines: Array; rightScale?: ScaleLinear; hasUnit?: boolean; } export interface GetYAnchorPoint { metric_id: number; timeSeries: Array; timeTick: Date; yScale: ScaleLinear; } export interface UseTooltipAnchorPointResult { tooltipDataAxisX?: string | null; tooltipDataAxisYLeft?: number | null; tooltipDataAxisYRight?: number | null; tooltipLeftAxisX?: number; tooltipLeftAxisYLeft?: number; tooltipLeftAxisYRight?: number; tooltipTopAxisX?: number; tooltipTopAxisYLeft?: number; tooltipTopAxisYRight?: number; } export interface TooltipAnchorModel { baseAxis: number; graphHeight: number; graphWidth?: number; leftScale?: ScaleLinear; lines: Array; rightScale?: ScaleLinear; timeSeries: Array; xScale: ScaleLinear; }