import { fabric } from 'fabric'; import { Region, VLMLabel } from '../../types'; interface UseDrawingModeParams { canvas: fabric.Canvas | undefined; drawingMode: boolean; draggable: boolean; setDrawingMode: (mode: boolean) => void; canvasToImageCoords: (canvasX: number, canvasY: number) => { x: number; y: number; }; labelDefinitions?: VLMLabel[]; onChange?: (labels: Region[]) => void; cropRegionImage: (region: Region) => Promise; updateRegionShapeAndImage: (rect: fabric.Rect) => void; performOCRIfNeeded: (region: Region, action: 'create' | 'update') => Promise; createDeleteControl: () => fabric.Control; createOCRControl: () => fabric.Control; updateRegionNameText: (rect: fabric.Rect, region: Region) => void; onRegionChange?: (region: Region | null, action: 'create' | 'update' | 'delete') => void; onRegionSelect?: (region: Region | null) => void; rectMapRef: React.MutableRefObject>; textLayersMapRef: React.MutableRefObject>; regionNameTextMapRef: React.MutableRefObject>; setupBoundaryCheck: (rect: fabric.Rect) => (() => void) | undefined; } /** * Hook for managing drawing mode (rectangle drawing functionality) * @param params - Drawing mode configuration parameters * @returns stopDraw function to stop drawing */ export declare const useDrawingMode: ({ canvas, drawingMode, draggable, setDrawingMode, canvasToImageCoords, labelDefinitions, onChange, cropRegionImage, updateRegionShapeAndImage, performOCRIfNeeded, createDeleteControl, createOCRControl, updateRegionNameText, onRegionChange, onRegionSelect, rectMapRef, textLayersMapRef, regionNameTextMapRef, setupBoundaryCheck, }: UseDrawingModeParams) => { stopDraw: () => void; }; export {};