import { ClusterConfig } from '../../../cluster/models/config.models'; import { AttributeMap } from '../../../model/models/attribute-map.models'; import { CurrencySettings, RangeItem } from '../../../model/models/legend.models'; import { NumericViewConfig } from '../../../model/models/view-config.models'; import { ViewAggregation } from '../../../view/models/aggregation.models'; /** * Gets range items and collects original data points for smart bucket calculation. * * @param data - AttributeMap array containing the data to analyze * @param cluster - Cluster configuration * @param config - View configuration with range settings * @param adjustedViewAggregation - Optional view aggregation * @returns Range items, aggregation settings, and data points */ export declare function getRangeItemsWithData(data: AttributeMap[], cluster: ClusterConfig[], config: NumericViewConfig, adjustedViewAggregation?: ViewAggregation): { maxRange: RangeItem | null; minRange: RangeItem | null; aggregation: ViewAggregation | undefined; dataPoints: number[]; }; /** * Floors the given number to the most significant digit based on its magnitude. * For values between 0 and 1, it floors to the nearest fractional digit. * * **Note:** This function assumes that negative numbers will never be passed * due to business logic constraints. If a negative number is passed, the * behavior is undefined. * * @param {number} value - The number to be floored. * @returns {number} The floored number, adjusted to its most significant digit. * @throws {TypeError} Throws if the input is not a valid number. * @example * // Floors a number to its most significant digit * const result1 = floor(12345); // 10000 * const result2 = floor(0.0567); // 0.05 */ export declare function floor(value: number): number; /** * Formats a numeric value as currency using provided settings. * * Use this function when: * - Formatting monetary/cost values that require currency symbols * - You have explicit currency settings (code and symbol) * - You need control over when to use compact notation * * Examples: * - formatCurrency(1000000, {code: 'USD', symbol: '$'}, 'en-US', 0, true) => "$1M" * - formatCurrency(1500.50, {code: 'EUR', symbol: '€'}, 'de-DE') => "€1.500,50" * * @param value - Value to be formatted * @param currencySettings - Currency code and symbol * @param locale - Locale for formatting (e.g., 'de-DE', 'en-US') * @param minimumFractionDigits - Minimum number of digits to use for the fraction * @param compact - Defines whether to show compact display * @param maximumFractionDigits - Maximum number of digits to use for the fraction * @returns Formatted currency string */ export declare function formatCurrency(value: number, currencySettings: CurrencySettings, locale?: string, minimumFractionDigits?: number, compact?: boolean, maximumFractionDigits?: number): string; /** * Formats a numeric value with optional compact notation for non-currency values. * * Use this function when: * - Formatting non-monetary numeric values (counts, quantities, percentages, etc.) * - You want automatic compact notation for large numbers (≥ 10,000) * - You don't need currency symbols * * Examples: * - formatNumericValue(10000) => "10K" * - formatNumericValue(1500000) => "1.5M" * - formatNumericValue(999) => "999" * - formatNumericValue(10000, 'de-DE') => "10.000" (German locale) * - formatNumericValue(10000, undefined, false) => "10,000" (no compact) * * @param value - The numeric value to format * @param locale - Locale for formatting (e.g., 'de-DE', 'en-US') * @param useCompact - Whether to use compact notation (default: true for values >= 10000) * @returns Formatted numeric string */ export declare function formatNumericValue(value: number, locale?: string, useCompact?: boolean): string;