import { EventDispatcher, Object3D, Vector3 } from 'three';
import { ICameraControls } from '../../core';
export type TPointerLockEvents = 'change' | 'lock' | 'unlock';
export declare class PointerLockControls2 extends EventDispatcher implements ICameraControls<TPointerLockEvents> {
    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=PointerLockControls2.d.ts.map