import type { Vec3 } from "../packages/openplans-core/src/types"; /** Add two Vec3s. */ export declare function add(a: Vec3, b: Vec3): Vec3; /** Subtract b from a. */ export declare function sub(a: Vec3, b: Vec3): Vec3; /** Scale a Vec3 by a scalar. */ export declare function scale(a: Vec3, s: number): Vec3; /** Translate every point by `delta`. Returns a new array; does not mutate. */ export declare function translatePoints(points: Vec3[], delta: Vec3): Vec3[]; /** Rodrigues rotation: rotate `point` by `angleRad` around an arbitrary unit * `axis` pivoted at `anchor`. Pure function — does not mutate inputs. */ export declare function rotatePoint(point: Vec3, angleRad: number, axis: Vec3, anchor: Vec3): Vec3; /** Rotate every point. Returns a new array. */ export declare function rotatePoints(points: Vec3[], angleRad: number, axis: Vec3, anchor: Vec3): Vec3[]; /** Centroid of a point cloud. Returns [0,0,0] for empty input. */ export declare function centroid(points: Vec3[]): Vec3; /** Convert degrees to radians. */ export declare function degToRad(deg: number): number; /** Default rotation axis (Y-up, the typical "yaw" axis for AEC plans). */ export declare const Y_UP: Vec3;