import type { IObjectOf } from "@thi.ng/api";
import type { ReadonlyVec } from "@thi.ng/vectors";
import type { GLMat4 } from "./api/glsl.js";
import type { ShaderUniforms } from "./api/shader.js";
/**
 * Computes the inverse transpose of given 4x4 matrix uniform, i.e.
 * `transpose(invert(m))`.
 *
 * @param model -
 */
export declare const autoNormalMatrix1: (model?: string) => (shaderU: ShaderUniforms, specU: IObjectOf<number | ReadonlyVec>) => GLMat4;
/**
 * Computes the inverse transpose of the matrix product of given 4x4
 * matrix uniforms, i.e. `transpose(invert(view * model))`.
 *
 * @param model -
 * @param view -
 */
export declare const autoNormalMatrix2: (model?: string, view?: string) => (shaderU: ShaderUniforms, specU: IObjectOf<number | ReadonlyVec>) => GLMat4;
/**
 * Constructs a orthographic projection matrix for using 2D screen
 * coords, with origin in the top-left corner of the viewport. If a
 * WebGL context is given, the its `drawingBufferWidth` &
 * `drawingBufferHeight` values are used.
 *
 * @param width -
 * @param height -
 */
export declare function screen2d(width: number, height: number): GLMat4;
export declare function screen2d(gl: WebGLRenderingContext): GLMat4;
//# sourceMappingURL=matrices.d.ts.map