/** * Nice Numbers (Wilkinson) — pre-compute axis ticks so labels are clean * (`10, 20, 30` not `2.333, 4.667`). Spec: skills/lumen-chart/references/ * chart-recipes.md → "Nice Numbers (axis ticks)". * * Pure function. No I/O, no globals. */ export interface NiceNumbersResult { /** Tick values from `niceMin` to `niceMax` (inclusive), evenly spaced by `niceSpacing`. */ ticks: number[]; /** Floor-rounded minimum that fits the data, snapped to a nice tick. */ niceMin: number; /** Ceil-rounded maximum that fits the data, snapped to a nice tick. */ niceMax: number; /** Spacing between consecutive ticks. */ niceSpacing: number; } export interface NiceNumbersOptions { /** Target number of ticks. Final count is usually within ±2 of this. Default 6. */ desiredTickCount?: number; } /** * Compute nice axis ticks for a data range. * * @param min smallest data value * @param max largest data value (must be >= min) */ export declare function niceNumbers(min: number, max: number, { desiredTickCount }?: NiceNumbersOptions): NiceNumbersResult; /** * Format a tick value for display. Uses the spacing's implied decimal precision * so axes don't show 6+ decimal trailing zeros. */ export declare function formatTick(value: number, spacing: number): string; //# sourceMappingURL=nice-numbers.d.ts.map