import type { BeButtonEvent, ScreenViewport } from "@itwin/core-frontend";
import { EventHandled } from "@itwin/core-frontend";
import type { Feature } from "../api/FeatureTracking.js";
import { MeasurementToolBase } from "../api/MeasurementTool.js";
import type { AngleMeasurement } from "../measurements/AngleMeasurement.js";
import { MeasureAngleToolModel } from "../toolmodels/MeasureAngleToolModel.js";
/** Tool for measuring angles using start, center and end point */
export declare class MeasureAngleTool extends MeasurementToolBase<AngleMeasurement, MeasureAngleToolModel> {
    protected createToolModel(): MeasureAngleToolModel;
    static toolId: string;
    static iconSpec: string;
    static get flyover(): string;
    static get description(): string;
    static get keyin(): string;
    protected get feature(): Feature | undefined;
    constructor(allowedViewportCallback?: (vp: ScreenViewport) => boolean);
    onRestartTool(): Promise<void>;
    /** Show tool assistance messages to user */
    showPrompt(): void;
    /** Setup for next tool step */
    protected updateToolAssistance(): void;
    onMouseMotion(ev: BeButtonEvent): Promise<void>;
    /** Process mouse presses */
    onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled>;
}
//# sourceMappingURL=MeasureAngleTool.d.ts.map