import { Vector2Like } from "../vector/Vector2"; import { Matrix2Like } from "./Matrix2"; export declare const UNIT_MATRIX3_DATA: number[]; export type Matrix3Like = Matrix3 | number[] | Float32Array; export declare class Matrix3 extends Float32Array { static readonly UNIT_MATRIX3: Matrix3; static clone: (source: Matrix3Like) => Matrix3; static cofactor00: (a: Matrix3Like) => number; static cofactor01: (a: Matrix3Like) => number; static cofactor02: (a: Matrix3Like) => number; static cofactor10: (a: Matrix3Like) => number; static cofactor11: (a: Matrix3Like) => number; static cofactor12: (a: Matrix3Like) => number; static cofactor20: (a: Matrix3Like) => number; static cofactor21: (a: Matrix3Like) => number; static cofactor22: (a: Matrix3Like) => number; static create: () => Matrix3; static determinant: (a: Matrix3Like) => number; static fromArray: (source: Matrix3Like, out?: T) => T; static fromMatrix2: (mat4: Matrix2Like, out?: T) => T; static fromMatrix4: (mat4: Matrix3Like, out?: T) => T; static fromRotation: (rad: number, out?: T) => T; static fromScaling: (v: Vector2Like, out?: T) => T; static fromSkew: (v: Vector2Like, out?: T) => T; static fromTranslation: (v: Vector2Like, out?: T) => T; static identity: (out?: T) => T; static invert: (a: Matrix3Like, out?: T) => T | null; static multiply: (a: Matrix3Like, b: Matrix3Like, out?: T) => T; static multiplyRotationMatrix: (a: Matrix3Like, b: Matrix3Like, out?: Matrix3) => Matrix3; static multiplyScaleMatrix: (a: Matrix3Like, b: Matrix3Like, out?: T) => T; static multiplyTranslateMatrix: (a: Matrix3Like, b: Matrix3Like, out?: T) => T; static rotate: (a: Matrix3Like, rad: number, out?: T) => T; static scale: (a: Matrix3Like, v: Vector2Like, out?: T) => T; static translate: (a: Matrix3Like, v: Vector2Like, out?: T) => T; static transpose: (a: Matrix3Like, out?: T) => T; constructor(data?: Matrix3Like); }