import cornerstone from "cornerstone-core"; import { Coords, EventData, HandlePosition, HandleTextBox, MeasurementData } from "../types"; declare const BaseAnnotationTool: any; interface CobbAngleHandles { point0: HandlePosition; point1: HandlePosition; point2?: HandlePosition; point3?: HandlePosition; textBox: HandleTextBox; } type CobbAngleMeasurementData = MeasurementData & { complete: boolean; value?: number; handles: CobbAngleHandles; }; type DrawPhase = "idle" | "seg1Move" | "seg2Wait" | "seg2Move"; export default class CobbAngleTool extends BaseAnnotationTool { _phase: DrawPhase; constructor(props?: any); createNewMeasurement(eventData: EventData): CobbAngleMeasurementData | undefined; addNewMeasurement(evt: { detail: EventData; }, _interactionType?: string): void; pointNearTool(element: HTMLElement, data: CobbAngleMeasurementData, coords: Coords, interactionType?: string): boolean; distanceFromPoint(element: HTMLElement, data: CobbAngleMeasurementData, coords: Coords): number; renderToolData(evt: { detail: EventData; }): void; _activateDraw(element: HTMLElement): void; _deactivateDraw(element: HTMLElement): void; _onMouseMove: (evt: { detail: EventData; }) => void; _onMouseClick: (evt: { detail: EventData; }) => void; handleSelectedCallback(evt: { detail: EventData; }, data: CobbAngleMeasurementData, handle: HandlePosition, interactionType?: string): void; toolSelectedCallback(evt: { detail: EventData; }, annotation: CobbAngleMeasurementData, interactionType?: string): void; updateCachedStats(image: cornerstone.Image, element: HTMLElement, data: CobbAngleMeasurementData): void; _updateStats(_image: cornerstone.Image | undefined, _element: HTMLElement, data: CobbAngleMeasurementData): void; _segDistCanvas(element: HTMLElement, p1: Coords, p2: Coords, canvasCoords: Coords): number; _segDistPixel(element: HTMLElement, p1: Coords, p2: Coords, pixelCoords: Coords): number; } export {};