/** Mean Earth radius in kilometres (the `haversine` default). */ export declare const EARTH_RADIUS_KM = 6371.0088; /** * Great-circle (haversine) distance between two latitude/longitude points given * in **degrees**. Returns the distance in the units of `radius` (default: km on * mean-Earth-radius). */ export declare function haversine(lat1: number, lon1: number, lat2: number, lon2: number, radius?: number): number; type Vec3 = readonly [number, number, number] | readonly number[]; type Quat = readonly [number, number, number, number] | readonly number[]; /** * Spherical linear interpolation between two vectors (treated as directions on a * sphere). `t ∈ [0,1]`; result has interpolated direction and magnitude. Falls back * to linear interpolation when the vectors are nearly parallel. */ export declare function slerp(v0: readonly number[], v1: readonly number[], t: number): number[]; /** Hamilton product of two quaternions `[w, x, y, z]`. */ export declare function quaternionMultiply(q1: Quat, q2: Quat): number[]; /** Quaternion conjugate `[w, −x, −y, −z]`. */ export declare function quaternionConjugate(q: Quat): number[]; /** Unit-normalize a quaternion. */ export declare function quaternionNormalize(q: Quat): number[]; /** Unit quaternion for a rotation of `angle` radians about (unit-normalized) `axis`. */ export declare function quaternionFromAxisAngle(axis: Vec3, angle: number): number[]; /** Rotate a 3-vector by a (unit) quaternion: `q · [0,v] · q⁻¹`. */ export declare function quaternionRotate(q: Quat, v: Vec3): number[]; /** 3×3 rotation matrix for a (unit) quaternion `[w, x, y, z]`. */ export declare function quaternionToRotationMatrix(q: Quat): number[][]; export {}; //# sourceMappingURL=geometry-extra.d.ts.map