import type { BeamDeflectionInput, BeamDeflectionResult, BeamDeflectionCurvePoint } from './types.js'; /** * Maximum elastic deflection of a prismatic beam and its serviceability check. * * # Units (SI, mm-based) * E in MPa (= N/mm²), I in mm⁴, span L in mm, w in N/mm, P in N → deflection in mm. * This mm/N/MPa convention lets the moment of inertia flow straight from * {@link momentOfInertia} (which returns I in mm⁴) into this calculation. * * # What it returns * δ_max (at its canonical location), the allowable deflection span/ratio for the chosen * serviceability limit (e.g. L/360), their ratio (utilization), and an `isSafe` verdict. * * # v1 scope (deliberately simple — matches common baseline calculators) * 1. **Elastic, small-deflection, prismatic (constant EI) beam.** Linear superposition of * a uniform and a point load. * 2. **Point load acts at the canonical maximum-deflection location** — midspan for * simple/fixed supports, the free end for a cantilever. Off-centre point loads (whose * peak is neither midspan nor the load point) are deferred, not approximated. * 3. Because both the uniform peak and the (canonically placed) point peak occur at the * same location, the combined case superposes there exactly — the reported δ_max is * the true combined maximum, not a same-location estimate. * * Reference: any mechanics-of-materials text (e.g. Roark's Formulas for Stress and Strain). * * @throws {RangeError} span, youngsModulus, momentOfInertia, or deflectionLimitRatio is * not positive, or a load value required by the selected load type is missing. */ export declare function beamDeflection(input: BeamDeflectionInput): BeamDeflectionResult; /** * Sample the elastic deflected shape v(x) from 0 to span for visualization. Uses the * same shape functions as {@link beamDeflection}, so `max(curve)` equals its `maxDeflection` * (no second physics — the drawn curve cannot contradict the reported peak). * * @param count number of samples (>= 2); defaults to 41. * @throws {RangeError} same validation as {@link beamDeflection}, plus count < 2. */ export declare function beamDeflectionCurve(input: BeamDeflectionInput, count?: number): BeamDeflectionCurvePoint[]; //# sourceMappingURL=beamDeflection.d.ts.map