import * as mat2 from '../glmatrix/mat2'; import type Vector2 from './Vector2'; declare class Matrix2 { /** * Storage of Matrix2 */ array: mat2.Mat2Array; constructor(); /** * Set components from array * @param arr */ setArray(arr: mat2.Mat2Array): this; /** * Clone a new Matrix2 */ clone(): Matrix2; /** * Copy from b * @param b */ copy(b: Matrix2): this; /** * Calculate the adjugate of self, in-place */ adjoint(): this; /** * Calculate matrix determinant */ determinant(): number; /** * Set to a identity matrix */ identity(): this; /** * Invert self */ invert(): this; /** * Alias for mutiply * @param b */ mul(b: Matrix2): this; /** * Alias for multiplyLeft * @param a */ mulLeft(a: Matrix2): this; /** * Multiply self and b * @param b */ multiply(b: Matrix2): this; /** * Multiply a and self, a is on the left * @param a */ multiplyLeft(a: Matrix2): this; /** * Rotate self by a given radian * @param {number} rad */ rotate(rad: number): this; /** * Scale self by s * @param s */ scale(v: Vector2): this; /** * Transpose self, in-place. */ transpose(): this; toString(): string; toArray(): mat2.Mat2Array; /** * @param out * @param a */ static adjoint(out: Matrix2, a: Matrix2): Matrix2; /** * @param out * @param a */ static copy(out: Matrix2, a: Matrix2): Matrix2; /** * @param a */ static determinant(a: Matrix2): number; /** * @param out */ static identity(out: Matrix2): Matrix2; /** * @param out * @param a */ static invert(out: Matrix2, a: Matrix2): Matrix2; /** * @param out * @param a * @param b */ static mul(out: Matrix2, a: Matrix2, b: Matrix2): Matrix2; /** * @function * @param out * @param a * @param b */ static multiply: typeof Matrix2.mul; /** * @param out * @param a * @param {number} rad */ static rotate(out: Matrix2, a: Matrix2, rad: number): Matrix2; /** * @param out * @param a * @param v */ static scale(out: Matrix2, a: Matrix2, v: Vector2): Matrix2; /** * @param out * @param a */ static transpose(out: Matrix2, a: Matrix2): Matrix2; } export default Matrix2;