import { TooltipDateFormat } from './ChartTooltip'; import { UnitRange } from '../types'; export declare const maxWidthTooltip: { maxWidth: string; }; /** * Round a value to a nice number for chart display * Used by Barchart and LineTimeSerieChart for Y-axis scaling */ export declare const getRoundReferenceValue: (value: number) => number; /** * Generate tick values for Y-axis * Used by Barchart and LineTimeSerieChart */ export declare const getTicks: (topValue: number, isSymmetrical: boolean) => number[]; /** * Return the unit label based on the current dataset, and the valueBase which is used to convert the data * Used by LineTimeSerieChart * @param unitRange - Array of threshold and label pairs * @param maxValue - The maximum value among the data set * @returns Object with valueBase and unitLabel */ export declare function getUnitLabel(unitRange: { threshold: number; label: string; }[], maxValue: number): { valueBase: number; unitLabel: string | undefined; }; /** * Computes unit label and normalizes chart data based on unit range. * This is shared logic used by both Barchart and LineTimeSerieChart. * * @param data - Chart data to normalize * @param maxValue - Maximum value in the dataset * @param unitRange - Optional unit range configuration for automatic scaling * @param excludeKey - Key to exclude from normalization (e.g., 'category' for Barchart, 'timestamp' for LineTimeSerieChart) * @returns Object containing unit label, top value for Y-axis, and normalized data */ export declare const normalizeChartDataWithUnits: >(data: T[], maxValue: number, unitRange: UnitRange | undefined, excludeKey: string) => { unitLabel: string | undefined; topValue: number; rechartsData: T[]; topDomain: number; }; /** * This function manually adds the missing data points with `null` value caused by downtime of the VMs * Missing data points are only added when the gap between consecutive data points is bigger than 2 intervals * Used by LineTimeSerieChart and Sparkline * * @param originalValues - The array of the data points are already sorted according to the time series * @param startingTimeStamp - The starting timestamp in seconds * @param sampleDuration - The time span value in seconds * @param sampleInterval - The time difference between two data points in seconds */ export declare function addMissingDataPoint(originalValues: [number, number | string | null][], startingTimeStamp?: number, sampleDuration?: number, sampleInterval?: number): [number, number | string | null][]; /** * Date Format Reference Table * ============================ * * This table documents the date formatting logic used across charts: * - X-Axis Format: Used for chart axis labels (formatXAxisDate + LineTimeSerieChart's formatXAxisLabel) * - Tooltip Format: Used for tooltip headers (getTooltipDateFormat) * * ┌─────────────────┬──────────────┬────────────────────────┬──────────────────┬──────────────────────────────────────────┬───────────────────────────┐ * │ Interval │ Duration (s) │ X-axis format │ Example (X-axis) │ Tooltip format │ Example (Tooltip) │ * ├─────────────────┼──────────────┼────────────────────────┼──────────────────┼──────────────────────────────────────────┼───────────────────────────┤ * │ Last hour │ ≤ 3,600 │ HH:MM │ 14:05 │ DD MMM HH:MM:SS │ 01 Oct 00:15:00 │ * │ Last 24 hours │ ≤ 86,400 │ HH:MM │ 23:00 │ DD MMM HH:MM │ 01 Oct 00:15 │ * │ Last 7 days │ ≤ 604,800 │ DD MMM HH:MM │ 27 Sep 10:12 │ DD MMM HH:MM │ 01 Oct 00:15 │ * │ Long term │ > 604,800 │ DDMMMYY │ 15Sep25 │ DD MMM YYYY HH:MM │ 01 Oct 2025 00:15 │ * └─────────────────┴──────────────┴────────────────────────┴──────────────────┴──────────────────────────────────────────┴───────────────────────────┘ * * Note: Duration is in seconds. Some intervals share the same format, which is why both functions only have 3 cases. */ /** * Get the format of the date based on the duration * Used by Barchart CustomTick component * @param duration - Duration in seconds * @returns Formatted string type */ export declare const formatXAxisDate: (duration: number) => "time" | "day-month-abbreviated" | "chart-long-term-date"; /** * Get the format of the date based on the duration * Used by TooltipHeader component * @param duration - Duration in seconds * @returns Formatted string type */ export declare const getTooltipDateFormat: (duration: number) => TooltipDateFormat; /** * Formats a tick value for chart Y-axis display. * - Fixed decimals for alignment when topValue < 1 (e.g., 0.1 → 0.10) * - Compact notation for large values (>= 10k) */ export declare const formatTickValue: (value: number, topValue: number) => string; //# sourceMappingURL=chartUtils.d.ts.map