import { type PerspectiveCamera } from 'three'; /** * Pointer→scene unprojection for click-on-sphere authoring (WS-SP). * * The camera sits at the origin looking at the inside of the projection * sphere, so a viewport point unprojects to a world-space ray direction whose * spherical angles ARE the scene lat/lon — the exact inverse of the sprite * placement mapping `(sinφcosθ, cosφ, sinφsinθ)` used by annotations, * hotspots, and tour portals. */ export declare function pointerToLatLon(camera: PerspectiveCamera, container: HTMLElement, clientX: number, clientY: number): { lat: number; lon: number; }; /** * Drag-threshold click discrimination sharing the container with the camera * pan gesture: only a down→click pair with less than a few px of travel fires. * Listens on the browser-synthesized `click` (not `pointerup`) so any UI a * consumer mounts in response cannot swallow the tail of the same gesture — * firing on pointerup made a freshly-opened modal receive the synthesized * click and immediately dismiss itself. The camera controller owns pointer * capture/panning; this only observes. */ export declare class SceneClickTracker { private container; private downX; private downY; private onDown; private onNativeClick; constructor(container: HTMLElement, onClick: (clientX: number, clientY: number) => void); dispose(): void; } //# sourceMappingURL=scene-click.d.ts.map