import type { NioshInput, NioshResult } from './types.js'; /** * Calculate NIOSH Recommended Weight Limit (RWL) and Lifting Index (LI) * * @formula RWL = LC × HM × VM × DM × AM × FM × CM * - LC = 23 kg (Load Constant) * - HM = 25 / H (Horizontal Multiplier, max 1.0) * - VM = 1 − 0.003|V − 75| (Vertical Multiplier) * - DM = 0.82 + 4.5 / D (Distance Multiplier, D ≥ 25 cm) * - AM = 1 − 0.0032A (Asymmetric Multiplier) * - FM = lookup(frequency, duration) * - CM = lookup(coupling, V) * - LI = Load Weight / RWL * * @reference NIOSH (1994). "Applications Manual for the Revised NIOSH Lifting Equation", * Publication No. 94-110. U.S. Dept. of Health and Human Services. * @reference Waters, T.R., Putz-Anderson, V., Garg, A. (1993). "Revised NIOSH equation * for the design and evaluation of manual lifting tasks". Ergonomics, 36(7), 749-776. * * @units H, V, D: cm; A: degrees; frequency: lifts/min; loadWeight: kg; RWL: kg * * @validation * - Ideal conditions (all multipliers = 1.0): RWL = LC = 23 kg * - Risk: low (LI ≤ 1), moderate (1 < LI ≤ 2), high (LI > 2) * * @param input - NIOSH lifting parameters * @returns NIOSH results including RWL, LI, multipliers, and risk level * @throws {RangeError} any distance, angle, frequency, or loadWeight is negative. * @remarks Distances below the equation's domain (H, D < 25 cm) are clamped per the * NIOSH spec rather than rejected. When the frequency multiplier drives RWL to 0 * (sustained high-frequency lifting), liftingIndex is Infinity — an intentional * sentinel meaning "no weight is acceptable for this task". * Outputs are rounded: rwl/liftingIndex to 2 decimals, computed multipliers to 4; * riskLevel is classified from the rounded liftingIndex so the two always agree. */ export declare function nioshLifting(input: NioshInput): NioshResult; //# sourceMappingURL=nioshLifting.d.ts.map