import type { SvgRenderer } from '../components/Markup/SvgRenderer';
import type { Vector3 } from '../types/Math';
import type { MeasurementRenderer } from './MeasurementRenderer';
import type { SettingsController } from '../controllers/SettingsController';
import type { RenderControllerProxy } from '../controllers/RenderControllerProxy';
import { type MeasurementInterface, type MeasurementState } from './MeasurementInterface';
import { ApiController } from '../controllers/ApiController';
export declare class PointToPointManager implements MeasurementInterface {
    private readonly svgRenderer;
    private readonly renderControllerProxy;
    private readonly settingsController;
    private readonly measurementRenderer;
    private readonly apiController;
    private firstMeasurePoint;
    private secondMeasurePoint;
    private snapPosition;
    private static pointToPointEnabled;
    private outlines;
    private pivot;
    private readonly gui;
    private globalOffset;
    private temporaryDistanceLabel;
    private camera;
    private readonly locale;
    private cursorTooltip;
    private featureTooltip;
    private surfaceCursor;
    private edgeCursor;
    private midPointCursor;
    private endPointCursor;
    private dom;
    constructor(params: {
        apiController: ApiController;
        renderControllerProxy: RenderControllerProxy;
        settingsController: SettingsController;
        svgRenderer: SvgRenderer;
        measurementRenderer: MeasurementRenderer;
        locale: string;
    });
    setGlobalOffset(params: Vector3): void;
    getGlobalOffset(): THREE.Vector3;
    private onMouseMove;
    private onWheel;
    getMeasurementProgress(): MeasurementState;
    private onCameraUpdated;
    private onNavigationChanged;
    private onMeasurementObjectMove;
    private updateTemporaryDistanceLabel;
    private onMeasurementObjectLeave;
    private onMeasurementObjectClick;
    resetMeasurement(): void;
    static isEnabled(): boolean;
    toggle(params: {
        enable: boolean;
    }): Promise<void>;
    private clearDisplayElements;
    private removeTooltips;
    private setCameraAndNavigationControls;
    private updateSvg;
    private updateCursorPosition;
    private updatePointToPointCursorSize;
    private managePointToPointCursorElements;
    private onMeasurementObjectEnter;
    private updatePointToPointCursor;
    private resetCursor;
}
