export type UnitSystem = 'metric' | 'imperial'; /** WHO adult BMI categories (kg/m²). Order = ascending BMI. */ export type BmiCategory = 'underweight' | 'normal' | 'overweight' | 'obese'; /** 1 lb = 0.45359237 kg (international avoirdupois pound, exact). */ export declare const KG_PER_LB = 0.45359237; /** 1 inch = 2.54 cm (exact). */ export declare const CM_PER_IN = 2.54; /** Inches per foot. */ export declare const IN_PER_FT = 12; export declare const lbToKg: (lb: number) => number; export declare const kgToLb: (kg: number) => number; export declare const inToCm: (inches: number) => number; export declare const cmToIn: (cm: number) => number; /** Split a height in centimetres into whole feet + remaining inches. */ export declare function cmToFtIn(cm: number): { ft: number; in: number; }; /** Combine feet + inches into centimetres. */ export declare const ftInToCm: (ft: number, inches: number) => number; /** * Body mass index in kg/m². Returns `null` when either input is missing or * non-positive (height of 0 would divide by zero). */ export declare function computeBmi(weightKg: number | null, heightCm: number | null): number | null; /** WHO adult cut-offs. Boundaries follow WHO: <18.5, <25, <30, ≥30. */ export declare function bmiCategory(bmi: number): BmiCategory; /** * Clinically meaningful display range for the gauge arc. Values below/above * are clamped so the ring still reads. 12–40 spans severe-thinness through * obesity without wasting the dial on impossible extremes. */ export declare const BMI_GAUGE_MIN = 12; export declare const BMI_GAUGE_MAX = 40; /** Map a BMI onto a 0–100 arc-fill percent for the radialBar gauge. */ export declare function bmiToGaugePercent(bmi: number): number; //# sourceMappingURL=bmi.d.ts.map