import { EventDispatcher, MOUSE, Spherical, TOUCH, Vector2, Vector3, type OrthographicCamera, type PerspectiveCamera } from 'three';
interface ControlMapEvent {
    change: {};
    start: {};
    end: {};
    'change-zoom': {
        zoom: number;
    };
}
declare class OrbitControls extends EventDispatcher<ControlMapEvent> {
    object: OrthographicCamera | PerspectiveCamera;
    domElement: HTMLElement;
    rotateLineStart: Vector2;
    rotateLineEnd: Vector2;
    enabled: boolean;
    target: Vector3;
    minDistance: number;
    maxDistance: number;
    minZoom: number;
    maxZoom: number;
    minPolarAngle: number;
    maxPolarAngle: number;
    minAzimuthAngle: number;
    maxAzimuthAngle: number;
    dampingFactor: number;
    enableDamping: boolean;
    enableZoom: boolean;
    zoomSpeed: number;
    enableRotate: boolean;
    rotateSpeed: number;
    enablePan: boolean;
    panSpeed: number;
    screenSpacePanning: boolean;
    keyPanSpeed: number;
    zoomToCursor: boolean;
    autoRotate: boolean;
    autoRotateSpeed: number;
    keys: {
        LEFT: string;
        UP: string;
        RIGHT: string;
        BOTTOM: string;
    };
    mouseButtons: {
        LEFT: MOUSE;
        MIDDLE: MOUSE;
        RIGHT: MOUSE;
    };
    touches: {
        ONE: TOUCH;
        TWO: TOUCH;
    };
    target0: Vector3;
    position0: Vector3;
    zoom0: number;
    private _domElementKeyEvents;
    spherical: Spherical;
    sphericalDelta: Spherical;
    getPolarAngle: () => number;
    getAzimuthalAngle: () => number;
    getDistance: () => number;
    listenToKeyEvents: (domElement: any) => void;
    stopListenToKeyEvents: () => void;
    saveState: () => void;
    reset: () => void;
    update: (deltaTime?: null) => boolean;
    onContextMenu: (event: Event) => void;
    onPointerDown: (event: PointerEvent) => void;
    onPointerUp: (event: PointerEvent) => void;
    onMouseWheel: (event: WheelEvent) => void;
    onPointerMove: (event: PointerEvent) => void;
    onKeyDown: (event: KeyboardEvent) => void;
    constructor(object: OrthographicCamera, domElement: HTMLElement);
    dispose(): void;
}
export { OrbitControls };
