import { Coloring } from './coloring.models'; import { NumericUnit } from './unit.models'; /** * The colour mapping used to look up which colour a fact sheet gets. * `LookupLegend` maps discrete values (strings) to legend items. * `RangeLegend` maps numeric ranges to legend items. */ export declare type Legend = LookupLegend | RangeLegend; export interface LookupLegend { type: 'lookup'; legend: Record; } export interface RangeLegend { type: 'range'; unit?: NumericUnit; legend: RangeLegendItem[]; } export interface RangeLegendItem { range: [number, number | null]; item: LegendItem; } export interface LegendItem { index: number; color: Coloring; label: string; /** * For range (numeric) buckets: the [min, max] boundary values. * `max` is `Infinity` for the last (unbounded) bucket, `null` for legacy single-value items. * Used by consumers to build localised hover descriptions. */ range?: [number, number | null]; } export interface RangeItem { value: number; label: string; background: string; } /** * Currency settings for formatting numeric values. */ export interface CurrencySettings { code: string; symbol: string; } /** * Collection of settings and data that can be passed from reports to reporting-dimensions * for enhanced formatting and display capabilities. */ export interface CurrencyTools { /** * Currency settings for formatting monetary values. */ currency?: CurrencySettings; /** * Locale for number and currency formatting (e.g., 'de-DE', 'en-US'). */ locale?: string; }