import { Texture } from 'three'; export interface PreviewItem { key: string; texture: Texture; x: number; y: number; width: number; height: number; /** Background color for this camera preview */ backgroundColor: string; /** Background opacity for this camera preview (0-1) */ backgroundOpacity: number; } export type PreviewPosition = 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right'; export interface UsePreviewLayoutOptions { previewHeight: number; gap: number; margin: number; position?: PreviewPosition; } export interface UsePreviewLayoutResult { previews: PreviewItem[]; isRight: boolean; isTop: boolean; } /** * Hook to calculate camera preview layout. * Returns preview items with pixel coordinates for positioning. */ export declare function usePreviewLayout({ previewHeight, gap, margin, position, }: UsePreviewLayoutOptions): UsePreviewLayoutResult; /** * Convert pixel position to NDC coordinates. * For aspect-corrected Hud: horizontal range [-aspect, aspect], vertical range [-1, 1] */ export declare function pixelToNDC(preview: PreviewItem, canvasWidth: number, canvasHeight: number, aspect?: number, isRight?: boolean, isTop?: boolean): { x: number; y: number; width: number; height: number; };