import { IDragOpts, IDrawingEvents, IProtected } from "./core/types"; import { NrrdState } from "./coreTools/NrrdState"; import { GuiState } from "./coreTools/GuiState"; import type { EventRouter } from "./eventRouter"; export declare class DragOperator { container: HTMLElement; private dragPrameters; private drawingPrameters; private sensitiveArray; private showDragNumberDiv; private nrrd_states; private gui_states; private protectedData; private dragSliceTool; private setSyncsliceNum; private setIsDrawFalse; private flipDisplayImageByAxis; private setEmptyCanvasSize; private getOrCreateSliceBuffer; private renderSliceToCanvas; private compositeAllLayers; private refreshSphereOverlayCb; private eventRouter; constructor(container: HTMLElement, nrrd_sates: NrrdState, gui_states: GuiState, protectedData: IProtected, drawingPrameters: IDrawingEvents, setSyncsliceNum: () => void, setIsDrawFalse: (target: number) => void, flipDisplayImageByAxis: () => void, setEmptyCanvasSize: (axis?: "x" | "y" | "z") => void, getOrCreateSliceBuffer: (axis: "x" | "y" | "z") => ImageData | null, renderSliceToCanvas: (layer: string, axis: "x" | "y" | "z", sliceIndex: number, buffer: ImageData, targetCtx: CanvasRenderingContext2D, scaledWidth: number, scaledHeight: number) => void, compositeAllLayers: () => void); private init; setShowDragNumberDiv(sliceIndexContainer: HTMLDivElement): void; /** * Set the sphere overlay refresh callback. * Called by NrrdTools after DrawToolCore is initialized. */ setRefreshSphereOverlay(cb: () => void): void; /** * Set the EventRouter reference for centralized event handling. * Called by NrrdTools/DrawToolCore after EventRouter is initialized. * Subscribes to mode changes to control drag mode. */ setEventRouter(eventRouter: EventRouter): void; drag(opts?: IDragOpts): void; updateIndex(move: number): void; updateShowNumDiv(contrastNum: number): void; updateCurrentContrastSlice(): any; configDragMode: () => void; removeDragMode: () => void; updateMainSlice(mainPreSlices: any): void; }