import { Vector3D } from './index';
import { NumericSquareMatrix } from './NumericSquareMatrix';
export declare class Matrix4x4 extends NumericSquareMatrix {
    constructor(...rows: number[][]);
    frustum(l: number, r: number, b: number, t: number, n: number, f: number): Matrix4x4;
    ortho(l: number, r: number, b: number, t: number, n: number, f: number): this;
    scale(x: number, y: number, z: number): Matrix4x4;
    scale(vector: Vector3D): Matrix4x4;
    translate(x: number, y: number, z: number): Matrix4x4;
    translate(vector: Vector3D): Matrix4x4;
    rotate(a: number, vector: Vector3D): Matrix4x4;
    rotate(a: number, x: number, y: number, z: number): Matrix4x4;
    lookAt(e: Vector3D, c: Vector3D, u: Vector3D): Matrix4x4;
    perspective(fov: number, aspect: number, near: number, far: number): Matrix4x4;
    transformPoint(v: Vector3D): Vector3D;
    transformVector(v: Vector3D): Vector3D;
    transpose(): Matrix4x4;
}
