import React from "react";
export interface ShaderCanvasProps {
    fragmentShader: string;
    uniformsRef: React.MutableRefObject<Record<string, number | number[]>>;
    maxDpr?: number;
    className?: string;
    style?: React.CSSProperties;
}
/**
 * Minimal raw WebGL2 canvas renderer for fullscreen fragment shaders.
 * - Built-in uniforms: iTime (float), iResolution (vec2)
 * - Custom uniforms read from `uniformsRef` each frame (no stale closures)
 * - ResizeObserver for responsive canvas sizing
 * - rAF animation loop with cleanup on unmount
 * - Graceful degradation: renders nothing if WebGL2 unavailable
 */
export declare const ShaderCanvas: React.FC<ShaderCanvasProps>;
