import { RangeItem, RangeLegendItem } from '../../../model/models/legend.models'; import { NumericUnit } from '../../../model/models/unit.models'; import { HSLAColor } from '../../models/color.models'; export declare function createRangeLegendItem(min: number, max: number | null, index: number, background: string, label: string): RangeLegendItem; export declare function round(value: number): number; export declare function limit(value: number, min: number, max: number): number; export declare function getSymbolFromUnit(unit: NumericUnit | undefined): string; export declare function computeRangeItemColor(base: HSLAColor, delta: HSLAColor, index: number): string; /** * Analyzes a dataset to determine if logarithmic scaling should be used for bucketing. * * @param values - Array of numeric values to analyze * @returns Boolean indicating whether logarithmic scaling is recommended */ export declare function shouldUseLogScaling(values: number[]): boolean; /** * Computes logarithmic range legend items for data with skewed distribution. * * @param max - Maximum range item * @param min - Minimum range item * @param steps - Number of buckets to create * @param symbol - Unit symbol to append to labels * @returns Array of range legend items with logarithmic distribution */ export declare function computeLogarithmicRanges(max: RangeItem, min: RangeItem, steps: number, symbol: string): RangeLegendItem[]; /** * Determines the optimal number of buckets based on data distribution. * Fewer buckets are used for highly skewed distributions. * * @param min - Minimum data value * @param max - Maximum data value * @param dataPoints - Array of data points to analyze * @returns Optimal number of buckets */ export declare function determineOptimalBucketCount(min: number, max: number, dataPoints: number[]): number; /** * Rounds a number to a "nice" human-readable value based on its magnitude. * * @param value - Number to round * @param roundUp - Whether to round up (true) or down (false) * @returns Rounded value */ export declare function roundToSignificantThreshold(value: number, roundUp?: boolean): number; /** * Gets a distinct color from the predefined palette. * * @param index - Zero-based index for color selection * @returns Hex color string from the distinct color palette */ export declare function getDistinctColor(index: number): string; /** * Determines if using default color range that should be replaced with distinct colors. * * @param minColor - Minimum range background color * @param maxColor - Maximum range background color * @returns True if using default colors that should be replaced */ export declare function shouldUseDistinctColors(minColor: string, maxColor: string): boolean;