import { EventDispatcher, Object3D, Vector3 } from 'three';
import { ICameraControls } from '../../core';
export interface PointerLockControls2EventMap {
    change: Record<string, unknown>;
    lock: Record<string, unknown>;
    unlock: Record<string, unknown>;
}
export declare class PointerLockControls2 extends EventDispatcher<PointerLockControls2EventMap> implements ICameraControls<PointerLockControls2EventMap> {
    readonly domElement: HTMLElement;
    readonly object: Object3D;
    isLocked: boolean;
    enabled: boolean;
    minPolarAngle: number;
    maxPolarAngle: number;
    pointerSpeed: number;
    autoLockOnClick: boolean;
    constructor(camera: Object3D, domElement: HTMLElement);
    onElementClick(event: Event): void;
    private _movementX;
    private _movementY;
    onMouseMove(event: MouseEvent): void;
    onPointerlockChange(): void;
    onPointerlockError(): void;
    connect(): void;
    disconnect(): void;
    dispose(): void;
    private _forwardDirection;
    getDirection(v: Vector3): Vector3;
    moveForward(distance: number): void;
    moveRight(distance: number): void;
    lock(): void;
    unlock(): void;
    update(): void;
}
//# sourceMappingURL=../../src/three/controls/PointerLockControls2.d.ts.map