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