import type { Point3d } from "@itwin/core-geometry";
import { MeasurementToolModel } from "../api/MeasurementToolModel.js";
import { DistanceMeasurement } from "../measurements/DistanceMeasurement.js";
import type { DrawingMetadata } from "../api/Measurement.js";
declare enum State {
    SetMeasurementViewport = 0,
    SetStartPoint = 1,
    SetEndPoint = 2
}
export declare class MeasureDistanceToolModel extends MeasurementToolModel<DistanceMeasurement> {
    static State: typeof State;
    private _currentState;
    private _currentViewportType?;
    private _currentMeasurement?;
    constructor();
    get currentState(): State;
    get dynamicMeasurement(): DistanceMeasurement | undefined;
    get drawingMetadata(): DrawingMetadata | undefined;
    set drawingMetadata(data: DrawingMetadata | undefined);
    set sheetViewId(id: string | undefined);
    get sheetViewId(): string | undefined;
    setMeasurementViewport(viewType: string): boolean;
    setStartPoint(viewType: string, point: Point3d): boolean;
    setEndPoint(viewType: string, point: Point3d, isDynamic: boolean): boolean;
    private moveToNextState;
    reset(clearMeasurements: boolean): void;
}
export {};
//# sourceMappingURL=MeasureDistanceToolModel.d.ts.map