import { Vector3D } from "./Vector3D";
export declare class Matrix3D {
    private static TEMP;
    constructor(v?: number[]);
    get determinant(): number;
    get position(): Vector3D;
    set position(val: Vector3D);
    rawData: Array<number>;
    append(lhs: Matrix3D): void;
    appendRotation(degrees: number, axis: Vector3D, pivotPoint?: Vector3D): void;
    appendScale(xScale: number, yScale: number, zScale: number): void;
    appendTranslation(x: number, y: number, z: number): void;
    clone(): Matrix3D;
    copyColumnFrom(column: number, vector3D: Vector3D): void;
    copyColumnTo(column: number, vector3D: Vector3D): void;
    copyFrom(other: Matrix3D): void;
    copyRawDataFrom(vector: number[], index?: number, transpose?: boolean): void;
    copyRawDataTo(vector: number[], index?: number, transpose?: boolean): void;
    copyRowFrom(row: number, vector3D: Vector3D): void;
    copyRowTo(row: number, vector3D: Vector3D): void;
    copyToMatrix3D(other: Matrix3D): void;
    decompose(orientationStyle?: string): Vector3D[];
    deltaTransformVector(v: Vector3D): Vector3D;
    identity(): void;
    interpolateTo(toMat: Matrix3D, percent: number): void;
    invert(): boolean;
    pointAt(pos: Vector3D, at?: Vector3D, up?: Vector3D): void;
    prepend(rhs: Matrix3D): void;
    prependRotation(degrees: number, axis: Vector3D, pivotPoint?: Vector3D): void;
    prependScale(xScale: number, yScale: number, zScale: number): void;
    prependTranslation(x: number, y: number, z: number): void;
    recompose(components: Vector3D[], orientationStyle?: string): boolean;
    transformVector(v: Vector3D): Vector3D;
    transformVectors(vin: number[], vout: number[]): void;
    transpose(): void;
    static interpolate(thisMat: Matrix3D, toMat: Matrix3D, percent: number): Matrix3D;
    protected static getAxisRotation(x: number, y: number, z: number, degrees: number, target?: Matrix3D): Matrix3D;
}
