import { ModelViewerElement } from '@google/model-viewer';
import { Camera } from 'three';
import { SphericalPosition } from '@google/model-viewer/lib/features/controls';
import { ViewerSettings } from './viewer-settings';
import { MeasurementTool } from './measurement-tool';
export declare class ViewerElement3D extends ModelViewerElement {
    private _coordinateAxes;
    private _coordinateLabel;
    private _lastSphericalPosition;
    private _lastFieldOfViewInDeg;
    private _referenceFieldOfViewInRad;
    private _referenceMaxRadius;
    private _isRadiusConst;
    private _maxZoomLevel;
    private _minZoomLevel;
    private _currentZoomLevel;
    private _minPhiInDeg;
    private _maxPhiInDeg;
    private _deltaX;
    private _deltaY;
    measurementTool: MeasurementTool;
    constructor();
    firstUpdated(): void;
    connectWithSettings(viewerSettings: ViewerSettings): void;
    resize(height: number, width: number): void;
    getCamera(): Camera;
    setReferenceFieldOfView(fovInRad: number, updateViewer?: boolean): void;
    rotateModel(dx: number, dy: number): void;
    zoomTo(zoomLevel: number): void;
    setViewerOffset(deltaX: number, deltaY: number): void;
    updateRendering(): void;
    setMinZoomLevel(minZoomLevel: number): void;
    setCameraOrbitPos(orbitPos: SphericalPosition): void;
    updateRadiusMode(isRadiusConst: boolean): void;
    private _changeAxesVisibility;
    private _changeBackgroundColor;
    private _handleHotspotAdded;
    private _intersectObject;
    private _coordinateLabelIsClicked;
    private _handleSceneClicked;
    private _addCoordinateElements;
    private _removeCoordinateElements;
    private _changeCoordinateVisibility;
    private _handleModelLoaded;
    private _handleCameraChanged;
    private _emitCamOrbitAngleChanged;
    static styles: import('lit').CSSResult;
}
