/**
 * A cheap, exact change-signal for the camera. Hashing the view + projection
 * matrices (as raw float bits) plus the viewport size catches every pan, orbit,
 * dolly, zoom, resize, and perspective/orthographic swap with no epsilon to tune.
 * Computed every frame; the layout only re-solves when the hash changes.
 */
import type { Camera } from 'three';
export declare function cameraMatrixHash(camera: Camera, width: number, height: number): number;
