import * as THREE from 'three'; import { type ECSContext } from './ecs'; export interface ViewportCameraPose { position: { x: number; y: number; z: number; }; rotation: { x: number; y: number; z: number; w: number; }; direction: { x: number; y: number; z: number; }; lookAt: { x: number; y: number; z: number; }; fov?: number; } export interface ViewportCameraSetOptions { position?: { x?: number; y?: number; z?: number; }; lookAt?: { x?: number; y?: number; z?: number; }; rotation?: { x?: number; y?: number; z?: number; w?: number; } | { x?: number; y?: number; z?: number; }; fov?: number; } export interface FrameSelectionOptions { padding?: number; fov?: number; } export interface ViewportFrameResult { position: { x: number; y: number; z: number; }; lookAt: { x: number; y: number; z: number; }; fov?: number; } export declare function getViewportCameraPose(ctx: ECSContext): ViewportCameraPose; export declare function applyViewportCameraPose(ctx: ECSContext, options: ViewportCameraSetOptions): ViewportCameraPose; export declare function computeViewportFrameForBounds(ctx: ECSContext, box: THREE.Box3, options?: FrameSelectionOptions): ViewportFrameResult; export declare function frameViewportBounds(ctx: ECSContext, box: THREE.Box3, options?: FrameSelectionOptions): ViewportCameraPose; export declare function computeViewportFrameForEntity(ctx: ECSContext, eid: number, options?: FrameSelectionOptions): ViewportFrameResult; export declare function frameViewportEntity(ctx: ECSContext, eid: number, options?: FrameSelectionOptions): ViewportCameraPose; //# sourceMappingURL=viewportCamera.d.ts.map