import { EventDispatcher } from "../core/EventDispatcher.ts"; import { Vector3 } from "../math/Vector3.ts"; interface OrbitCamera { position: Vector3; matrixWorld: { elements: ArrayLike; }; lookAt: (target: Vector3) => void; updateMatrixWorld: (force?: boolean) => void; } interface OrbitDomElement extends EventTarget { style: CSSStyleDeclaration; clientWidth?: number; clientHeight?: number; setPointerCapture: (id: number) => void; releasePointerCapture: (id: number) => void; } /** * Orbit camera controls. Rotates around a target point via pointer drag, * zooms with the scroll wheel, and pans with right-click drag. * * Dispatches "change", "start", and "end" events. */ export declare class OrbitControls extends EventDispatcher { #private; camera: OrbitCamera; domElement: OrbitDomElement; /** World-space point the camera orbits around. */ target: Vector3; /** When false, all interaction is ignored. */ enabled: boolean; enableRotate: boolean; enableZoom: boolean; enablePan: boolean; rotateSpeed: number; zoomSpeed: number; panSpeed: number; /** Minimum orbital radius. */ minDistance: number; /** Maximum orbital radius. */ maxDistance: number; /** Minimum polar angle (radians, 0 = top). */ minPolarAngle: number; /** Maximum polar angle (radians, Math.PI = bottom). */ maxPolarAngle: number; /** When true, movements decelerate smoothly instead of stopping instantly. */ enableDamping: boolean; /** Fraction of velocity lost per frame when damping is enabled. */ dampingFactor: number; autoRotate: boolean; /** Degrees per second. */ autoRotateSpeed: number; /** When true, panning moves in screen space. When false, panning moves along the horizontal plane. */ screenSpacePanning: boolean; constructor(camera: OrbitCamera, domElement: OrbitDomElement); /** * Apply pending rotation, zoom, and pan then update the camera. * Must be called each frame. */ update(): boolean; /** Remove all DOM event listeners. Call when the controls are no longer needed. */ dispose(): void; /** Restore the camera position and target to the values at construction time. */ reset(): void; } export {}; //# sourceMappingURL=OrbitControls.d.ts.map