import type { Types } from '@cornerstonejs/core'; import { ChangeTypes } from '../../enums/index.js'; import type { EventTypes, ToolHandle, PublicToolProps, ToolProps, SVGDrawingHelper } from '../../types/index.js'; import type { LivewireContourAnnotation } from '../../types/ToolSpecificAnnotationTypes.js'; import { LivewireScissors } from '../../utilities/livewire/LivewireScissors.js'; import { LivewirePath } from '../../utilities/livewire/LiveWirePath.js'; import ContourSegmentationBaseTool from '../base/ContourSegmentationBaseTool.js'; import type { AnnotationStyle } from '../../types/AnnotationStyle.js'; declare class LivewireContourTool extends ContourSegmentationBaseTool { static toolName: string; protected scissors: LivewireScissors; protected scissorsNext: LivewireScissors; _throttledCalculateCachedStats: Function; editData: { annotation: LivewireContourAnnotation; viewportIdsToRender: Array; handleIndex?: number; movingTextBox?: boolean; newAnnotation?: boolean; hasMoved?: boolean; lastCanvasPoint?: Types.Point2; confirmedPath?: LivewirePath; currentPath?: LivewirePath; confirmedPathNext?: LivewirePath; closed?: boolean; worldToSlice?: (point: Types.Point3) => Types.Point2; sliceToWorld?: (point: Types.Point2) => Types.Point3; originalPath?: Types.Point3[]; contourHoleProcessingEnabled?: boolean; } | null; isDrawing: boolean; isHandleOutsideImage: boolean; constructor(toolProps?: PublicToolProps, defaultToolProps?: ToolProps); protected setupBaseEditData(worldPos: any, element: any, annotation: any, nextPos?: any, contourHoleProcessingEnabled?: any): void; addNewAnnotation(evt: EventTypes.InteractionEventType): LivewireContourAnnotation; isPointNearTool: (element: HTMLDivElement, annotation: LivewireContourAnnotation, canvasCoords: Types.Point2, proximity: number) => boolean; toolSelectedCallback: (evt: EventTypes.InteractionEventType, annotation: LivewireContourAnnotation) => void; handleSelectedCallback: (evt: EventTypes.InteractionEventType, annotation: LivewireContourAnnotation, handle: ToolHandle) => void; _endCallback: (evt: EventTypes.InteractionEventType, clearAnnotation?: boolean) => void; protected clearEditData(): void; triggerChangeEvent: (annotation: LivewireContourAnnotation, enabledElement: Types.IEnabledElement, changeType?: ChangeTypes, contourHoleProcessingEnabled?: boolean) => void; private _mouseDownCallback; private _mouseMoveCallback; editHandle(worldPos: Types.Point3, element: any, annotation: LivewireContourAnnotation, handleIndex: number): void; protected _dragCallback: (evt: EventTypes.InteractionEventType) => void; cancel: (element: HTMLDivElement) => string; private _activateDraw; private _deactivateDraw; renderAnnotation(enabledElement: Types.IEnabledElement, svgDrawingHelper: SVGDrawingHelper): boolean; protected isContourSegmentationTool(): boolean; protected createAnnotation(evt: EventTypes.InteractionEventType): import("../../types/index.js").ContourAnnotation; cancelInProgress(element: any, config: any, evt: any): void; protected renderAnnotationInstance(renderContext: { enabledElement: Types.IEnabledElement; targetId: string; annotation: LivewireContourAnnotation; annotationStyle: AnnotationStyle; svgDrawingHelper: SVGDrawingHelper; }): boolean; private _calculateCachedStats; private _renderStats; triggerAnnotationModified: (annotation: LivewireContourAnnotation, enabledElement: Types.IEnabledElement, changeType?: ChangeTypes) => void; protected updateAnnotation(livewirePath: LivewirePath): void; } export default LivewireContourTool;