import { ZograMatrix } from "./generic"; export declare type mat4 = Matrix4x4; declare type Mat4Tuple = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number]; declare const Mat4Constructor: new (...p: Mat4Tuple) => Mat4Tuple; export declare class Matrix4x4 extends Mat4Constructor implements ZograMatrix { constructor(p_0?: number, p_1?: number, p_2?: number, p_3?: number, p_4?: number, p_5?: number, p_6?: number, p_7?: number, p_8?: number, p_9?: number, p_10?: number, p_11?: number, p_12?: number, p_13?: number, p_14?: number, p_15?: number); static create(): Matrix4x4; asMut(): this; set(v: Readonly): this; set(v: Readonly>): this; fill(n: number): this; clone(out?: mat4): Matrix4x4; equals(other: any): boolean; } export declare function mat4(p_0?: number, p_1?: number, p_2?: number, p_3?: number, p_4?: number, p_5?: number, p_6?: number, p_7?: number, p_8?: number, p_9?: number, p_10?: number, p_11?: number, p_12?: number, p_13?: number, p_14?: number, p_15?: number): Matrix4x4; export declare namespace mat4 { var create: typeof Matrix4x4.create; var identity: { (): Matrix4x4; (out: Matrix4x4): Matrix4x4; (out: Matrix4x4): Matrix4x4; (): Matrix4x4; (out: ArrayLike): ArrayLike; }; var rts: { (args_0: Readonly, args_1: Readonly, args_2: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly, args_1: Readonly, args_2: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike, args_1: ArrayLike, args_2: ArrayLike): Matrix4x4; (args_0: ArrayLike, args_1: ArrayLike, args_2: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike, args_2: ArrayLike): ArrayLike; }; var translate: { (args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var invert: { (args_0: Readonly): Matrix4x4 | null; (out: Matrix4x4, args_0: Readonly): Matrix4x4 | null; (out: Matrix4x4, args_0: ArrayLike): Matrix4x4 | null; (args_0: ArrayLike): Matrix4x4 | null; (out: ArrayLike, args_0: ArrayLike): ArrayLike | null; }; var getTranslation: { (args_0: Readonly): import("./vec3").Vector3; (out: import("./vec3").Vector3, args_0: Readonly): import("./vec3").Vector3; (out: import("./vec3").Vector3, args_0: ArrayLike): import("./vec3").Vector3; (args_0: ArrayLike): import("./vec3").Vector3; (out: ArrayLike, args_0: ArrayLike): ArrayLike; }; var getRotation: { (args_0: Readonly): import("./quat").Quaternion; (out: import("./quat").Quaternion, args_0: Readonly): import("./quat").Quaternion; (out: import("./quat").Quaternion, args_0: ArrayLike): import("./quat").Quaternion; (args_0: ArrayLike): import("./quat").Quaternion; (out: ArrayLike, args_0: ArrayLike): ArrayLike; }; var getScaling: { (args_0: Readonly): import("./vec3").Vector3; (out: import("./vec3").Vector3, args_0: Readonly): import("./vec3").Vector3; (out: import("./vec3").Vector3, args_0: ArrayLike): import("./vec3").Vector3; (args_0: ArrayLike): import("./vec3").Vector3; (out: ArrayLike, args_0: ArrayLike): ArrayLike; }; var mulVec4: { (args_0: Readonly, args_1: Readonly): import("./vec4").Vector4; (out: import("./vec4").Vector4, args_0: Readonly, args_1: Readonly): import("./vec4").Vector4; (out: import("./vec4").Vector4, args_0: ArrayLike, args_1: ArrayLike): import("./vec4").Vector4; (args_0: ArrayLike, args_1: ArrayLike): import("./vec4").Vector4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var perspective: { (args_0: number, args_1: number, args_2: number, args_3: number): Matrix4x4; (out: Matrix4x4, args_0: number, args_1: number, args_2: number, args_3: number): Matrix4x4; (out: Matrix4x4, args_0: number, args_1: number, args_2: number, args_3: number): Matrix4x4; (args_0: number, args_1: number, args_2: number, args_3: number): Matrix4x4; (out: ArrayLike, args_0: number, args_1: number, args_2: number, args_3: number): ArrayLike; }; var transpose: { (args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike): Matrix4x4; (args_0: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike): ArrayLike; }; var rotate: { (args_0: Readonly, args_1: Readonly, args_2: number): Matrix4x4; (out: Matrix4x4, args_0: Readonly, args_1: Readonly, args_2: number): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike, args_1: ArrayLike, args_2: number): Matrix4x4; (args_0: ArrayLike, args_1: ArrayLike, args_2: number): Matrix4x4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike, args_2: number): ArrayLike; }; var scale: { (args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var fromTranslation: { (args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike): Matrix4x4; (args_0: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike): ArrayLike; }; var fromRotation: { (args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike): Matrix4x4; (args_0: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike): ArrayLike; }; var fromScaling: { (args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike): Matrix4x4; (args_0: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike): ArrayLike; }; var mul: { (args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var add: { (args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var sub: { (args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var plus: { (args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var minus: { (args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly, args_1: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (args_0: ArrayLike, args_1: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var mulVector: { (args_0: Readonly, args_1: Readonly): import("./vec3").Vector3; (out: import("./vec3").Vector3, args_0: Readonly, args_1: Readonly): import("./vec3").Vector3; (out: import("./vec3").Vector3, args_0: ArrayLike, args_1: ArrayLike): import("./vec3").Vector3; (args_0: ArrayLike, args_1: ArrayLike): import("./vec3").Vector3; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var mulPoint: { (args_0: Readonly, args_1: Readonly): import("./vec3").Vector3; (out: import("./vec3").Vector3, args_0: Readonly, args_1: Readonly): import("./vec3").Vector3; (out: import("./vec3").Vector3, args_0: ArrayLike, args_1: ArrayLike): import("./vec3").Vector3; (args_0: ArrayLike, args_1: ArrayLike): import("./vec3").Vector3; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var mulPoint2: { (args_0: Readonly, args_1: Readonly): import("./vec2").Vector2; (out: import("./vec2").Vector2, args_0: Readonly, args_1: Readonly): import("./vec2").Vector2; (out: import("./vec2").Vector2, args_0: ArrayLike, args_1: ArrayLike): import("./vec2").Vector2; (args_0: ArrayLike, args_1: ArrayLike): import("./vec2").Vector2; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var mulVector2: { (args_0: Readonly, args_1: Readonly): import("./vec2").Vector2; (out: import("./vec2").Vector2, args_0: Readonly, args_1: Readonly): import("./vec2").Vector2; (out: import("./vec2").Vector2, args_0: ArrayLike, args_1: ArrayLike): import("./vec2").Vector2; (args_0: ArrayLike, args_1: ArrayLike): import("./vec2").Vector2; (out: ArrayLike, args_0: ArrayLike, args_1: ArrayLike): ArrayLike; }; var ortho: typeof orthogonal; var equal: (a: any, b: any) => boolean; var set: { (args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: Readonly): Matrix4x4; (out: Matrix4x4, args_0: ArrayLike): Matrix4x4; (args_0: ArrayLike): Matrix4x4; (out: ArrayLike, args_0: ArrayLike): ArrayLike; }; var fill: { (args_0: number): Matrix4x4; (out: Matrix4x4, args_0: number): Matrix4x4; (out: Matrix4x4, args_0: number): Matrix4x4; (args_0: number): Matrix4x4; (out: ArrayLike, args_0: number): ArrayLike; }; } declare function orthogonal(height: number, aspect: number, near: number, far: number): mat4; declare function orthogonal(left: number, right: number, bottom: number, top: number, near: number, far: number): mat4; export {};