import { Vector2, Vector3 } from 'three';
import { MouseKey } from '../Common/KeyEnum';
import { Viewer } from '../GraphicsSystem/Viewer';
export declare enum CameraControlState {
    Null = 0,
    Pan = 1,
    Rotate = 2,
    Scale = 3
}
export declare class CameraControls {
    Viewer: Viewer;
    TouchTypeList: CameraControlState[];
    domElement: HTMLElement;
    StartTouchPoint: Vector3;
    EndTouchPoint: Vector3;
    DollyStart: Vector2;
    DollyEnd: Vector2;
    IsCtrlDown: boolean;
    IsAltDown: boolean;
    IsShiftDown: boolean;
    MouseDown: Map<MouseKey, boolean>;
    State: CameraControlState;
    LeftUseRotate: boolean;
    constructor(Viewer: Viewer);
    pointId: number;
    get CanRotate(): boolean;
    RegisterEvent(): void;
    /**
     * 窗体失去焦点时.
     */
    onBlur: () => void;
    onTouchStart: (event: TouchEvent) => void;
    onTouchEnd: (event: TouchEvent) => void;
    onTouchMove: (event: TouchEvent) => void;
    beginPan(): void;
    beginRotate(): void;
    requestPointerLock(): void;
    exitPointerLock(): void;
    lastMiddleClickTime: number;
    onMouseDown: (event: MouseEvent) => void;
    onMouseUp: (event: MouseEvent) => void;
    onMouseMove: (event: MouseEvent) => void;
    /**
     * 鼠标滚轮事件
     */
    onMouseWheel: (event: WheelEvent) => void;
    onKeyDown: (event: KeyboardEvent) => void;
    onKeyUp: (event: KeyboardEvent) => void;
}
//# sourceMappingURL=CameraControls.d.ts.map