import { Mat44 } from "./Matrix"; import { Vec3, Vec4 } from "./Vector"; export declare class Quat extends Vec4 { constructor(x?: number, y?: number, z?: number, w?: number); static get Identity(): Quat; get Vector(): Vec4; set Vector(r: Vec4); Mul(r: Quat): Quat; Conjugate(): Quat; Exp(): Quat; Ln(): Quat; Inverse(): Quat; ToAxisAngle(axis: Vec3): number; static RotateRollPitchYaw(pitch: number, yaw: number, roll: number): Quat; static RotateAxis(axis: Vec3, angle: number): Quat; static RotateMatrix(r: Mat44): Quat; static Slerp(q0: Quat, q1: Quat, s: number, bShortestPath?: boolean): Quat; static Squad(q0: Quat, q1: Quat, q2: Quat, q3: Quat, s: number, bShortestPath?: boolean): Quat; } export declare class DualQuat { q0: Quat; q1: Quat; constructor(q0: Quat, q1: Quat); static FromQuaternionTranslation(q: Quat, v: Vec3): DualQuat; }