import { Matr4 } from "./Matr4";
export type IQuat = {
    x: number;
    y: number;
    z: number;
    w: number;
};
export declare class Quat {
    x: number;
    y: number;
    z: number;
    w: number;
    constructor(x?: number | Quat, y?: number, z?: number, w?: number);
    copy(other: {
        x?: number;
        y?: number;
        z?: number;
        w?: number;
    }): this;
    multiply(q: {
        x: number;
        y: number;
        z: number;
        w: number;
    }): this;
    premultiply(q: {
        x: number;
        y: number;
        z: number;
        w: number;
    }): this;
    multiplyQuaternions(a: {
        x: number;
        y: number;
        z: number;
        w: number;
    }, b: {
        x: number;
        y: number;
        z: number;
        w: number;
    }): this;
    setFromEulerXYZ(euler: {
        x: number;
        y: number;
        z: number;
    }): this;
    setFromRotationMatrix(m: Matr4): this;
    setFromAxisAngle(axis: {
        x: number;
        y: number;
        z: number;
    }, angle: number): this;
    clone(): Quat;
    set(x: number, y: number, z: number, w: number): this;
    invert(): this;
    dot(other: Quat): number;
    rotateTowards(other: Quat, scalar: number): this;
    angleTo(q: Quat): number;
    slerp(qb: Quat, t: number): this;
    length(): number;
    normalize(): this;
}
//# sourceMappingURL=Quat.d.ts.map