import { Point } from './Point'; import { Rect } from './Rect'; import { Vec4 } from './Vec4'; export declare type Mat4 = { readonly m00: number; readonly m10: number; readonly m20: number; readonly m30: number; readonly m01: number; readonly m11: number; readonly m21: number; readonly m31: number; readonly m02: number; readonly m12: number; readonly m22: number; readonly m32: number; readonly m03: number; readonly m13: number; readonly m23: number; readonly m33: number; }; export declare const IDENTITY: Mat4; export declare function scalar(scale: number): Mat4; export declare function scalarVector({ x, y, z, w }: Vec4): Mat4; export declare function translation(x: number, y: number): Mat4; export declare function plusMat4(left: Mat4, right: Mat4): Mat4; export declare function timesPoint(left: Mat4, right: Point): Point; export declare function timesMat4(left: Mat4, right: Mat4): Mat4; export declare function timesRectToBoundingBox(left: Mat4, right: Rect): Rect; export declare function invert(mat: Mat4): Mat4; export declare function mat4ToArray(mat4: Mat4): [ number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number ];