import { ILineChartAreaHighlightRange, ILineChartDataPoint, ILineChartDateRange, ILineChartGraphType, ILineChartILegend, ILineChartMetric, ILineChartMetricStream, ILineChartMetricUnit } from "../../core/LineChart/type"; import { formatBitPerSecond, formatBps, formatBytes, formatCount, formatFrequency, formatNanoSecond, formatPercent, formatTemperature } from "../../utils/tower"; import { NameType, Payload, ValueType } from "recharts/types/component/DefaultTooltipContent"; export interface ILineChartThresholdIntersectionPoint { timestamp: number; value: number; legend: ILineChartILegend; streamIndex: number; } export { DEFAULT_LINE_CHART_STROKE, getLineChartDefaultYAxisTicks, getLineChartLegacyThresholdTooltipInfo, getLineChartStreamStroke, } from "./lineChartDisplayUtils"; export { getLineChartAreaHighlightRuns, type ILineChartAreaHighlightPoint, } from "./areaHighlightUtils"; export { getLineChartLinePath, getLineChartLineSegments, type ILineChartLinePoint, type ILineChartLinePointInput, type ILineChartLineSegment, } from "./lineSegments"; export interface ILineChartMetricPayloadMatch { legend: TLegend; payload: Payload; } export declare function filterLineChartPointsByDateRange(points: ILineChartDataPoint[], dateRange?: ILineChartDateRange): ILineChartDataPoint[]; export declare const parseLineChartRange: (range: string) => { span: number; unit: "h" | "d"; }; export declare const lineChartXaxisCal: (lastTime: number, dateRange: ILineChartDateRange, width: number) => number[]; export declare const lineChartTickFormatter: (tick: number, dateRange: ILineChartDateRange) => string; export declare function getLineChartXAxisDomain(dateRange: ILineChartDateRange, xaxisLastTime?: number): [number, number]; export declare const getLineChartMetricPayloadMatches: (payload: readonly Payload[] | undefined, legends?: readonly TLegend[]) => ILineChartMetricPayloadMatch[]; export declare const getLineChartAreaHighlightRanges: (ranges: ILineChartAreaHighlightRange[] | undefined, xDomain: [number, number]) => { start: number; end: number; fill: string; fillOpacity?: number | undefined; legendId?: string | undefined; }[]; export declare const getLineChartRangeTimestamp: (dateRange: ILineChartDateRange) => number; export declare const getLineChartThresholdIntersections: (streams: ILineChartMetricStream[], thresholdValue: number, xDomain?: [number, number]) => ILineChartThresholdIntersectionPoint[]; export declare const getLineChartStep: (dateRange: ILineChartDateRange) => number; export declare const filterLineChartDataOverlapping: (data: Data[], startTimestamp: number, length: number, step: number, tolerance: number) => (Data | { t: number; v: number; })[]; export declare const convertLineChartDataStruct: (streams: ILineChartDataPoint[][]) => ILineChartDataPoint[]; export declare const filterLineChartOverlappingMetric: (metric: ILineChartMetric, dateRange: ILineChartDateRange) => { sample_streams: { points: (ILineChartDataPoint | { t: number; v: number; })[]; legend: ILineChartILegend; step: number; tolerance: number; }[]; unit: ILineChartMetricUnit; dropped: boolean; }; export declare const deletePointsOutOfRange: (data: ILineChartDataPoint[], timeRange: ILineChartDateRange, now: number) => ILineChartDataPoint[]; export declare const getFirstExpectedTimestamp: (data: ILineChartDataPoint[], timeRange: ILineChartDateRange, now: number, step: number, dateRange: ILineChartDateRange | undefined) => number; export declare const addMissingDataWithZero: (data: ILineChartDataPoint[], timeRange: ILineChartDateRange, unit: ILineChartMetricUnit, step: number, dateRange?: ILineChartDateRange) => ILineChartDataPoint[]; export declare const convertLineChartUnit: (value: number, from: string, to: string, decimals?: number) => number; export declare const UNIT_FORMATTER: { readonly PERCENT: readonly [typeof formatPercent, "%", 2, false]; readonly RATIO: readonly [typeof formatPercent, "%"]; readonly COUNT: readonly [typeof formatCount, ""]; readonly DATA_SIZE: readonly [typeof formatBytes, "B"]; readonly DATA_RATE_BYTE: readonly [typeof formatBps, "Bps"]; readonly DATA_RATE_BIT: readonly [typeof formatBitPerSecond, "bps"]; readonly TIME: readonly [typeof formatNanoSecond, "ns"]; readonly FREQUENCY: readonly [typeof formatFrequency, "Hz"]; readonly TEMPERATURE: readonly [typeof formatTemperature, "℃"]; readonly LOAD: readonly [typeof formatCount, ""]; }; export declare const getLineChartYDataMax: (dataPoints: ILineChartDataPoint[], type: ILineChartGraphType, extraValues?: number[]) => number; export declare const getYAxisUpperBound: (max: number, type: ILineChartMetricUnit) => number; export declare const getYAxisDomain: (dataPoints: ILineChartDataPoint[], graphType: ILineChartGraphType, unitType: ILineChartMetricUnit, extraValues?: number[]) => [number, number]; export declare function lineChartYaxisTickFormatter(value?: number, unit?: ILineChartMetricUnit): string;