import type { ScaleLinear, ScaleSymLog } from 'd3-scale'; import type { AnnotationsIntegrationSelectionState } from '../../core/components/annotations/components/indicators/types.js'; import type { InteractionState, SelectState } from '../../core/components/interactions-state-helpers/types.js'; import type { TimeseriesUnit } from '../../core/types/timeseries.js'; export type YAxisScale = { scale: ScaleLinear | ScaleSymLog; unit?: TimeseriesUnit; }; type LeftYScale = { left: YAxisScale; right?: YAxisScale; }; type RightYScale = { left?: YAxisScale; right: YAxisScale; }; export type YAxisScales = LeftYScale | RightYScale; export interface TimeseriesSelectState extends SelectState { domainStart: Date; domainEnd: Date; } export interface TimeseriesInteractionState extends InteractionState<[Date, Date] | [number, number]> { select: TimeseriesSelectState | undefined; } export interface TimeseriesThresholdsState { hoveredThresholdId: string | undefined; } export interface TimeseriesChartState extends TimeseriesInteractionState { annotations: AnnotationsIntegrationSelectionState; thresholds: TimeseriesThresholdsState; filteredSeriesIds: Set; } export {};