import type { Scene, PerspectiveCamera } from 'three'; import type { AnnotationData } from '@vizor-vr/shared'; /** * Orchestrates annotation rendering and interaction. * Creates 3D sprite markers at lat/lon positions, manages time-based visibility, * and handles click-to-open HTML popups via raycasting. */ export declare class AnnotationManager { private scene; private camera; private domElement; private sprites; private popup; private raycaster; private pointer; private frustum; private projScreenMatrix; private boundOnClick; constructor(scene: Scene, camera: PerspectiveCamera, domElement: HTMLElement, shadowRoot: ShadowRoot); /** Set annotations from child elements */ setAnnotations(annotations: AnnotationData[]): void; /** Called each frame with current video time. Toggle sprite visibility based on time windows + frustum culling. */ update(currentTime: number): void; /** Handle click: raycast against visible sprites, open popup if hit */ private onClick; /** Remove all annotation sprites from scene and dispose resources */ clear(): void; /** Full cleanup: clear sprites, remove event listeners, dispose popup */ dispose(): void; } //# sourceMappingURL=annotation-manager.d.ts.map