import Camera from "../camera/camera";
import Object2D from "../object2d";
import Controls from "./controls";
export default class PointerLockControls extends Controls {
    isLocked: boolean;
    /**
     * Creates a {@link PointerLockControls} instance and sets up it's event handlers.
     *
     * @param element The element to use when handling control events
     * @param camera The camera to control
     * @param object An optional object to follow the camera's yaw
     * @param sensitivity Movement sensitivity
     */
    constructor(element: HTMLElement, camera: Camera, object?: Object2D, sensitivity?: number);
    /**
     * Requests pointer lock if the control's are not already locked.
     */
    private clickHandler;
    /**
     * Resets `movementX` and `movementY` if the controls has been unlocked.
     */
    private pointerLockChangeHandler;
    /**
     * Syncs `this.movementX` and `this.movementY` with the event's movement properties.
     *
     * @param e The mouse event
     */
    private mouseMoveHandler;
    /**
     * Calculates the new camera direction from `movementX` and `movementY`.
     *
     * Called every tick.
     */
    update(): void;
    dispose(): void;
}
