import { Matrix3, Quaternion, Vector3 } from "../../type_definitions/array_type_definitions.js"; export declare function create(): Matrix3; export declare function create(m00: number, m01: number, m02: number, m10: number, m11: number, m12: number, m20: number, m21: number, m22: number): Matrix3; export declare function create(uniformValue: number): Matrix3; export declare function getAllocationFunction(): () => Matrix3; /** Specify the function that will be used to allocate the matrix when calling the {@link create} function */ export declare function setAllocationFunction(allocationFunction: () => Matrix3): void; export declare function set(matrix: T, m00: number, m01: number, m02: number, m10: number, m11: number, m12: number, m20: number, m21: number, m22: number): T; export declare function set(matrix: T, uniformValue: number): T; export declare function copy(from: Readonly, to: T): T; /** The overload where `T extends Vector2` does also get `array` as `Readonly`, but is not marked as such due to Typescript having issues with inferring the proper type of `T` when `Readonly` is used */ export declare function clone(matrix: Readonly): T; export declare function clone(matrix: Readonly): number[]; export declare function clone(matrix: T): T; export declare function equals(first: Readonly, second: Readonly, epsilon?: number): boolean; export declare const toDegrees: { (matrix: Readonly): Vector3; (matrix: Readonly, out: T): T; }; export declare const toRadians: { (matrix: Readonly): Vector3; (matrix: Readonly, out: T): T; }; export declare function toQuat(matrix: Readonly): Quaternion; export declare function toQuat(matrix: Readonly, out: T): T; export declare function fromAxes(left: Readonly, up: Readonly, forward: Readonly): Matrix3; export declare function fromAxes(left: Readonly, up: Readonly, forward: Readonly, out: T): T; export declare const Mat3Utils: { readonly create: typeof create; readonly getAllocationFunction: typeof getAllocationFunction; readonly setAllocationFunction: typeof setAllocationFunction; readonly set: typeof set; readonly copy: typeof copy; readonly clone: typeof clone; readonly equals: typeof equals; readonly toDegrees: { (matrix: Readonly): Vector3; (matrix: Readonly, out: T): T; }; readonly toRadians: { (matrix: Readonly): Vector3; (matrix: Readonly, out: T): T; }; readonly toQuat: typeof toQuat; readonly fromAxes: typeof fromAxes; };