/** * Time Scale Validation * * Prevents ChartJS from crashing when a time unit is incompatible with the data range. * Example: timeUnit="day" with data spanning 1600-2020 (420 years) would generate * ~153,000 ticks, exceeding ChartJS's 100,000 limit and causing a hard crash. */ import type { DataFrame } from 'types'; import type { TimeCartesianAxisConfiguration } from './types'; export type TimeUnit = NonNullable; /** * Checks if a time unit is safe to use with the given min/max values. * Used by the Platform to filter available timescale options in the UI. * * @example * isTimeUnitCompatible("1600-01-01", "2024-01-01", "day") // false (424 years!) * isTimeUnitCompatible("1600-01-01", "2024-01-01", "year") // true * isTimeUnitCompatible("2024-01-01", "2024-12-31", "day") // true */ export declare function isTimeUnitCompatible(min: unknown, max: unknown, unit: TimeUnit): boolean; /** * Returns a safe time unit for ChartJS, or undefined to let it auto-detect. * Used internally by scales.ts to prevent crashes. * * @param dataFrame - The chart data * @param requestedUnit - The user-configured time unit (may be undefined) * @param labelColumn - The column containing date values (default: 'x') */ export declare function getSafeTimeUnit(dataFrame: DataFrame, requestedUnit: TimeUnit | undefined, labelColumn?: string): TimeUnit | undefined;