import { Vector } from './Vector'; /** A 2x2 matrix. */ export declare class Matrix { /** The identity matrix. */ static readonly Identity: Matrix; /** Constructs a matrix from two basis vectors. */ static fromBasis(v1: Vector, v2: Vector): Matrix; /** Constructs a transformation matrix representing a rotation by the specified angle in radians. */ static rotation(radians: number): Matrix; /** Constructs a transformation matrix representing a shear parallel to the X axis. */ static xShear(k: number): Matrix; /** Constructs a transformation matrix representing a shear parallel to the Y axis. */ static yShear(k: number): Matrix; /** Constructs a transformation matrix representing a stretch (or compression). */ static stretch(x: number, y: number): Matrix; /** First row, first column. */ readonly a: number; /** First row, second column. */ readonly b: number; /** Second row, first column. */ readonly c: number; /** Second row, second column. */ readonly d: number; /** Constructs a 2x2 matrix given its four values (first row then second row). */ constructor(a: number, b: number, c: number, d: number); /** Returns the determinant of this matrix. */ determinant(): number; /** * Returns the inverse matrix of this matrix. * Throws an error if the determinant is zero, * and thus no inverse exists. */ inverse(): Matrix; /** Returns the result of multipling this matrix by another matrix. */ timesMatrix(m: Matrix): Matrix; /** Returns the result of multipling this matrix by a vector. */ timesVector(v: Vector): Vector; }