import { EventDispatcher, Object3D, Vector3 } from 'three';
import { ICameraControls } from '../../core';
export declare class FirstPersonControls2 extends EventDispatcher implements ICameraControls<'change'> {
    readonly object: Object3D;
    readonly domElement: HTMLElement | Document;
    enabled: boolean;
    enableKeys: boolean;
    movementSpeed: number;
    lookSpeed: number;
    lookVertical: boolean;
    autoForward: boolean;
    activeLook: boolean;
    heightSpeed: boolean;
    heightCoef: number;
    heightMin: number;
    heightMax: number;
    constrainVertical: boolean;
    verticalMin: number;
    verticalMax: number;
    mouseDragOn: boolean;
    autoSpeedFactor: number;
    pointerX: number;
    pointerY: number;
    moveForward: boolean;
    moveBackward: boolean;
    moveLeft: boolean;
    moveRight: boolean;
    moveUp: boolean;
    moveDown: boolean;
    viewHalfX: number;
    viewHalfY: number;
    private lat;
    private lon;
    constructor(object: Object3D, domElement: HTMLElement | Document);
    setOrientation(): void;
    handleResize(): void;
    onPointerDown(event: PointerEvent): void;
    onPointerUp(event: PointerEvent): void;
    onPointerMove(event: PointerEvent): void;
    onKeyDown(event: KeyboardEvent): void;
    onKeyUp(event: KeyboardEvent): void;
    lookAt(x: number | Vector3, y?: number, z?: number): this;
    private targetPosition;
    private _lastTime;
    update(): void;
    dispose(): void;
    onContextMenu(event: Event): void;
}
//# sourceMappingURL=FirstPersonControls2.d.ts.map