import type { ScaleLinear } from 'd3-scale'; import type { LineChartData } from '../../../common/models'; import type { Line, TimeValue } from '../../../common/timeSeries/models'; import type { FactorsVariation } from './Threshold/models'; export interface ShapeGraphData { [x: string]: unknown; display: boolean; leftScale?: ScaleLinear; rightScale?: ScaleLinear; xScale?: ScaleLinear; yScale?: ScaleLinear; } export interface LinesData { lines: Array; timeSeries: Array; } export interface AreaStackedLines extends ShapeGraphData { invertedStackedLinesData: LinesData; stackedLinesData: LinesData; } export interface AreaRegularLines extends ShapeGraphData { lines: Array; timeSeries: Array; } export interface AreaThreshold extends AreaRegularLines { dataExclusionPeriods?: Array; factors?: FactorsVariation; getCountDisplayedCircles?: (value: number) => void; } export interface Shape { areaRegularLines: AreaRegularLines; areaStackedLines: AreaStackedLines; areaThreshold: AreaThreshold; }