import { Vector3 } from "./Vector3.js";
import type { Matrix4 } from "./Matrix4.js";
export type EulerOrder = "XYZ";
export declare class Quaternion {
    readonly x: number;
    readonly y: number;
    readonly z: number;
    readonly w: number;
    static readonly identity: Readonly<Quaternion>;
    constructor(x?: number, y?: number, z?: number, w?: number);
    static fromAxisAngle(axis: Vector3, radians: number): Quaternion;
    static fromUnitVectors(from: Vector3, to: Vector3): Quaternion;
    static fromEuler(x: number, y: number, z: number, order?: EulerOrder): Quaternion;
    static fromRotationMatrix(matrix: Matrix4): Quaternion;
    clone(): Quaternion;
    length(): number;
    normalize(): Quaternion;
    conjugate(): Quaternion;
    inverse(): Quaternion;
    multiply(q: Quaternion): Quaternion;
    rotateVector(v: Vector3): Vector3;
    slerp(to: Quaternion, t: number): Quaternion;
    equals(q: Quaternion, epsilon?: number): boolean;
}
//# sourceMappingURL=Quaternion.d.ts.map