import { StackViewport } from '@cornerstonejs/core'; import type { Types } from '@cornerstonejs/core'; import AnnotationDisplayTool from './AnnotationDisplayTool'; import type { Annotation, Annotations, EventTypes, ToolHandle, InteractionTypes, ToolProps, PublicToolProps } from '../../types'; import type { AnnotationStyle, StyleSpecifier } from '../../types/AnnotationStyle'; import type { SVGDrawingHelper } from '../../types'; declare abstract class AnnotationTool extends AnnotationDisplayTool { protected eventDispatchDetail: { viewportId: string; renderingEngineId: string; }; isDrawing: boolean; isHandleOutsideImage: boolean; editData: { annotation: Annotation; viewportIdsToRender?: string[]; newAnnotation?: boolean; handleIndex?: number; movingTextBox?: boolean; hasMoved?: boolean; } | null; static createAnnotationForViewport(viewport: any, ...annotationBaseData: any[]): T; static createAndAddAnnotation(viewport: any, ...annotationBaseData: any[]): void; static toolName: any; constructor(toolProps: PublicToolProps, defaultToolProps: ToolProps); abstract addNewAnnotation(evt: EventTypes.InteractionEventType, interactionType: InteractionTypes): Annotation; abstract cancel(element: HTMLDivElement): any; abstract handleSelectedCallback(evt: EventTypes.InteractionEventType, annotation: Annotation, handle: ToolHandle, interactionType: InteractionTypes): void; abstract toolSelectedCallback(evt: EventTypes.InteractionEventType, annotation: Annotation, interactionType: InteractionTypes, canvasCoords?: Types.Point2): void; abstract isPointNearTool(element: HTMLDivElement, annotation: Annotation, canvasCoords: Types.Point2, proximity: number, interactionType: string): boolean; mouseMoveCallback: (evt: EventTypes.MouseMoveEventType, filteredAnnotations?: Annotations) => boolean; getHandleNearImagePoint(element: HTMLDivElement, annotation: Annotation, canvasCoords: Types.Point2, proximity: number): ToolHandle | undefined; getLinkedTextBoxStyle(specifications: StyleSpecifier, annotation?: Annotation): Record; protected renderLinkedTextBoxAnnotation(options: { enabledElement: Types.IEnabledElement; svgDrawingHelper: SVGDrawingHelper; annotation: Annotation; styleSpecifier: StyleSpecifier; textLines: string[]; canvasCoordinates: Types.Point2[]; textBoxUID?: string; placementPoints?: Types.Point2[]; }): boolean; static isSuvScaled(viewport: Types.IStackViewport | Types.IVolumeViewport, targetId: string, imageId?: string): boolean; isSuvScaled: typeof AnnotationTool.isSuvScaled; protected getAnnotationStyle(context: { annotation: Annotation; styleSpecifier: StyleSpecifier; }): AnnotationStyle; private _imagePointNearToolOrHandle; protected static createAnnotationState(annotation: Annotation, deleting?: boolean): { annotationUID: string; data: import("../../types").AnnotationData; deleting: boolean; }; static createAnnotationMemo(element: HTMLDivElement | null | undefined, annotation: Annotation, options?: { newAnnotation?: boolean; deleting?: boolean; }): { restoreMemo: () => void; id: string; operationType: string; }; protected createMemo(element: any, annotation: any, options?: any): void; protected startGroupRecording(): void; protected endGroupRecording(): void; protected static hydrateBase(ToolClass: new () => T, enabledElement: Types.IEnabledElement, points: Types.Point3[], options?: { annotationUID?: string; toolInstance?: T; referencedImageId?: string; viewplaneNormal?: Types.Point3; viewUp?: Types.Point3; }): { FrameOfReferenceUID: string; referencedImageId: any; viewPlaneNormal: Types.Point3; viewUp: Types.Point3; instance: T; viewport: StackViewport | import("@cornerstonejs/core").VolumeViewport; }; } export default AnnotationTool;