export function NavigationModel(cam: any, rc: any, dom: any): void;
export class NavigationModel {
    constructor(cam: any, rc: any, dom: any);
    cam: any;
    rc: any;
    dom: any;
    curKeysMultiple: any[];
    curAction: -1;
    EPS: number;
    quatWorldToModelSpace: import("three").Quaternion;
    quatModelToWorldSpace: import("three").Quaternion;
    lastZoomPos: import("three").Vector2;
    lastZoomModelPos: import("three").Vector3;
    zoomDir: import("three").Vector3;
    zoomDistanceInterval: number;
    zoomDistanceThrehold: number;
    panControl: import("three").Vector2;
    spherical: import("three").Spherical;
    sphericalDelta: import("three").Spherical;
    orbitPoint: any;
    cameraPoint: import("three").Vector3;
    panTarget: import("three").Vector3 | null;
    panOffset: import("three").Vector3;
    orbitInit: {
        orbitPoint: import("three").Vector3;
        initialCameraTheta: number;
        initialCameraCylindrical: import("three").Cylindrical;
        initialCameraDirectionCylindrical: import("three").Cylindrical;
        initialDirectionInOrbitPointSpace: import("three").Vector3;
        cameraThetaRange: number[];
        directionThetaRange: number[];
    } | null;
    qua: import("three").Quaternion;
    moveOffset: import("three").Vector3;
    lookDir: import("three").Vector3;
    lookDirOnMouseDown: import("three").Vector3;
    rotateWithKeys: boolean;
    lookQuaOnMouseDown: import("three").Quaternion;
    mouseRotateQua: import("three").Quaternion;
    isMoved: boolean;
    modelCenter: import("three").Vector3;
    gui: {
        navigation: {
            default: {
                keyboardMoveSpeed: number;
                keyboardRotateSpeed: number;
            };
            fly: {
                moveSpeed: number;
                rotateSpeed: number;
                strafeXSpeed: number;
                strafeYSpeed: number;
            };
            orbit: {
                rotateHorizontalSpeed: number;
                rotateVerticalSpeed: number;
            };
        };
    };
    deltaTime: number;
    flyEvent: any;
    strafeEvent: any;
    handleZoom(event: any, zoomSpeed: any): void;
    moveForward(fwdDistance: any, speed: any): any;
    moveBackward(fwdDistance: any, speed: any): number;
    setZoomValue(zoomValue: any, dir1: any): void;
    panLeft(distance: any, objectMatrix: any): void;
    panUp(distance: any, objectMatrix: any): void;
    handlePan(event: any): void;
    moveRight(dir: any): void;
    moveLeft(dir: any): void;
    moveDown(): void;
    moveUp(): void;
    handleMouseDown(): void;
    handleMouseUpDown(event: any): void;
    CalculateAngle(vec1: any, vec2: any, speed: any): any;
    handleStrafe(panDistance: any, speedX: any, speedY: any, clientWidth: any, clientHeight: any): void;
    handleRotate(angle: any): void;
    handleLookAround(angle: any): void;
    handleFly(walkDistance: any, flyRotateSpeed: any, flyMoveSpeed: any, clientWidth: any, clientHeight: any): void;
    rotateOrbitLeft(angle: any): void;
    rotateOrbitUp(angle: any): void;
    handleOrbitRotate(event: any): void;
    GetRotateOffset(offset: any, position: any, target: any, quat: any, quatInverse: any): void;
    handleKeyPress(code: any): void;
    moveXYForward(): void;
    moveXYBackward(): void;
    pitchUp(): void;
    pitchDown(): void;
    yawLeft(): void;
    yawRight(): void;
    handleMeasurementZoom(event: any, orbitPoint: any, zoomSpeed: any): void;
    updateWithState(state: any, event: any): void;
    update(deltaTime: any): void;
    clearOrbit(): void;
    clearMove(): void;
    clearPan(): void;
    SetDirection(dir: any): void;
}
