import type { ShaderModule } from '@use-gpu/shader'; import type { DataBounds } from '@use-gpu/core'; import type { RefObject } from '@use-gpu/live'; import { mat4, mat3 } from 'gl-matrix'; export type MatrixRefs = { matrix: RefObject; normalMatrix: RefObject; }; export type MatrixState = { matrix: mat4; normalMatrix: mat3; }; export type MatrixInstances = { use: () => (state: MatrixState) => number; instance: number; }; export type TransformBounds = (bounds: DataBounds) => DataBounds; export type TransformContextProps = { key: number; transform?: ShaderModule | null; differential?: ShaderModule | null; bounds?: TransformBounds | null; nonlinear?: TransformContextProps | null; matrix?: MatrixRefs | null; }; export declare const DEFAULT_TRANSFORM: { key: number; transform: null; differential: null; bounds: (b: DataBounds) => DataBounds; }; export declare const TransformContext: import("@use-gpu/live").LiveContext; export declare const useTransformContext: () => TransformContextProps; export declare const useNoTransformContext: () => void;