import { Scene, type Vector2, type Vector3 } from "three";
import type { ViralViewerTool } from "../../../types";
import type { ViralTools } from "../viral-tools";
interface ViralMeasure {
    point1: Vector3;
    point2: Vector3;
}
export declare class ViralToolMeasure {
    viralTools: ViralTools;
    viralToolMeasureScene: Scene<import("three").Object3DEventMap>;
    isActivated: boolean;
    measures: ViralMeasure[];
    private point1;
    private point2;
    private tempPoint2;
    private defaultSprite;
    private measureObject;
    private tempMeasure;
    private tempSprite1;
    private tempLine;
    private tempSprite2;
    constructor(viralTools: ViralTools);
    activate(input: ViralViewerTool): void;
    onMouseMove(mousePoint: Vector2): void;
    onMouseClick(mousePoint: Vector2): void;
    private resetPickedPoints;
    private makeSprite;
    private makeLine;
    private makeDistanceSprite;
    private dispose;
    onKeyPress(evt: KeyboardEvent): void;
}
export {};
