import { DINResult } from "../types";
/**
 * Calculates the DIN binding release value for a skier based on their physical characteristics and skiing style.
 *
 * @param skierHeightCm - Skier's height in centimeters (1-250)
 * @param skierWeightKg - Skier's weight in kilograms (1-150)
 * @param skierAge - Skier's age in years (3-100)
 * @param skierType - Skiing style: 1 (Cautious), 2 (Moderate), 3 (Aggressive)
 * @param bootSoleLengthMm - Boot sole length in millimeters (200-360)
 * @returns DIN calculation result or null if no matching entry found
 * @throws {InvalidHeightError} When height is outside valid range
 * @throws {InvalidWeightError} When weight is outside valid range
 * @throws {InvalidAgeError} When age is outside valid range
 * @throws {InvalidSkierTypeError} When skier type is not 1, 2, or 3
 * @throws {InvalidBootSoleLengthError} When boot sole length is outside valid range
 */
export declare function calculateDIN(skierHeightCm: number, skierWeightKg: number, skierAge: number, skierType: number, bootSoleLengthMm: number): DINResult | null;
/**
 * Looks up DIN value based on skier code and boot sole length.
 *
 * @param skierCode - Numeric skier code (1-16)
 * @param bootSoleLengthMm - Boot sole length in millimeters
 * @returns DIN result or null if no matching entry found
 */
export declare function lookupDIN(skierCode: number, bootSoleLengthMm: number): DINResult | null;
