/** * Pure histogram binning — distributes numeric values into `binCount` * equal-width bins over [min, max] and counts how many fall in each. * * Zero-dependency, total, deterministic (M11 ADR D2 — binning is pure logic, * distinct from the SVG scaling reused from TrendChart). Non-finite values * (NaN / ±Infinity) are dropped, mirroring the trace-core `Number.isFinite` * discipline. A degenerate range (all values equal) collapses to a single * populated bin so no count is lost. */ /** One histogram bucket: half-open [lo, hi) except the final bin, which is [lo, hi] (max-inclusive). */ export interface HistogramBin { lo: number; hi: number; count: number; } /** * Bin `values` into `binCount` equal-width buckets. * Returns `[]` for an empty input or a non-positive `binCount`. */ export declare function computeHistogram(values: number[], binCount: number): HistogramBin[];