import { Camera, EventDispatcher } from 'three';
import { CorePlayer } from '../../../core/player/Player';
interface PointerLockControlsOptions {
    lockHTMLElement?: HTMLElement;
}
export declare class PointerLockControls extends EventDispatcher<{
    change: any;
}> {
    private camera;
    readonly domElement: HTMLElement;
    private options;
    private player?;
    private isLocked;
    minPolarAngle: number;
    maxPolarAngle: number;
    rotateSpeed: number;
    private euler;
    private boundMethods;
    private _azimuthalAngle;
    private _corePlayerKeyEvents;
    constructor(camera: Camera, domElement: HTMLElement, options: PointerLockControlsOptions, player?: CorePlayer | undefined);
    onMouseMove(event: MouseEvent): void;
    private _computeAzimuthalAngle;
    onPointerlockChange(): void;
    onPointerlockError(): void;
    connect(): void;
    disconnect(): void;
    dispose(): void;
    getObject(): Camera;
    lock(): void;
    unlock(): void;
    update(delta: number): void;
    private __unlockHTMLElement;
    private _unlockHTMLElementParent;
    private _unlockHTMLElement;
    private _showUnlockHTMLElement;
    private _getUnlockHTMLElement;
    private _createUnlockHTMLElement;
    private _removeHTMLElement;
}
export {};
