import type { Point3d } from "@itwin/core-geometry";
import { MeasurementToolModel } from "../api/MeasurementToolModel.js";
import type { AngleMeasurementFormattingProps } from "../measurements/AngleMeasurement.js";
import { AngleMeasurement } from "../measurements/AngleMeasurement.js";
declare enum State {
    SetMeasurementViewport = 0,
    SetStartPoint = 1,
    SetCenter = 2,
    SetEndPoint = 3
}
/** Tool model for measuring radius using 3-points */
export declare class MeasureAngleToolModel extends MeasurementToolModel<AngleMeasurement> {
    static State: typeof State;
    private _currentMeasurement?;
    private _currentViewportType?;
    private _currentState;
    private _formatting?;
    constructor();
    get formatting(): AngleMeasurementFormattingProps | undefined;
    set formatting(formatting: AngleMeasurementFormattingProps | undefined);
    get currentState(): State;
    get dynamicMeasurement(): AngleMeasurement | undefined;
    setMeasurementViewport(viewType: string): boolean;
    setStartPoint(viewType: string, point: Point3d, isDynamic: boolean): boolean;
    setCenter(viewType: string, point: Point3d, isDynamic: boolean): boolean;
    setEndPoint(viewType: string, point: Point3d, isDynamic: boolean): boolean;
    private _moveToNextState;
    reset(clearMeasurements: boolean): void;
}
export {};
//# sourceMappingURL=MeasureAngleToolModel.d.ts.map