import { Camera } from 'three'; import { SparkRenderer } from '@sparkjsdev/spark'; interface UseCameraPreviewOptions { /** * The camera key (must match the key used in registerCamera) */ cameraKey: string; /** * The Three.js camera instance */ camera: Camera; /** * The SparkRenderer instance (from useSparkRenderer hook) */ sparkRenderer: SparkRenderer; /** * Width of the render target in pixels */ width: number; /** * Height of the render target in pixels */ height: number; /** * Enable or disable preview rendering. * When false, the viewpoint is disposed and no rendering occurs. * @default true */ enabled?: boolean; } /** * Hook to render camera preview using SparkViewpoint (supports 3DGS). * * Creates a SparkViewpoint for this camera that maintains its own sort order * and renders to its own internal target. The texture is accessed via * getPreviewTexture() which reads directly from viewpoint.target.texture. * * For legacy rendering without 3DGS support, use useLegacyCameraPreview instead. * * @example * useCameraPreview({ * cameraKey: 'cam1', * camera, * sparkRenderer, * width: 1024, * height: 768, * enabled: previewInScene || previewInOverlay, * }); */ export declare function useCameraPreview({ cameraKey, camera, sparkRenderer, width, height, enabled, }: UseCameraPreviewOptions): void; export {};