/**
 * Minimal quaternion math for AHRS sensor fusion.
 *
 * Quaternions are represented as [w, x, y, z] tuples where w is the
 * scalar part. All functions are pure — no mutations, no allocations
 * beyond the returned tuple.
 */
/** A unit quaternion [w, x, y, z] representing a 3D orientation. */
export type Quaternion = [number, number, number, number];
/** Euler angles in radians, extracted from a quaternion. */
export interface EulerAngles {
    /** Rotation around X axis (radians, -PI to PI) */
    pitch: number;
    /** Rotation around Y axis (radians, -PI to PI) */
    yaw: number;
    /** Rotation around Z axis (radians, -PI to PI) */
    roll: number;
}
/** Identity quaternion — no rotation. */
export declare const IDENTITY: Quaternion;
/** Normalize a quaternion to unit length. */
export declare function normalize(q: Quaternion): Quaternion;
/**
 * Extract Euler angles (Tait-Bryan ZYX intrinsic) from a unit quaternion.
 *
 * Convention: pitch = X-axis, yaw = Y-axis, roll = Z-axis.
 * All angles in radians, range (-PI, PI].
 */
export declare function toEuler(q: Quaternion): EulerAngles;
//# sourceMappingURL=quaternion.d.ts.map