import { fabric } from 'fabric'; import { VLMSample, Region } from '../../types'; interface UseRegionLoaderParams { canvas: fabric.Canvas | undefined; sample: VLMSample | undefined; image: fabric.Image | undefined; bgImagePosition: { left: number; top: number; }; canvasInitializedRef: React.MutableRefObject; bgImagePositionRef: React.MutableRefObject<{ left: number; top: number; }>; sampleRef: React.MutableRefObject; labelsLoadedRef: React.MutableRefObject; rectMapRef: React.MutableRefObject>; textLayersMapRef: React.MutableRefObject>; textLayoutContentMapRef: React.MutableRefObject>; regionNameTextMapRef: React.MutableRefObject>; ocrLoadingIconMapRef: React.MutableRefObject>; imageToCanvasCoords: (imageX: number, imageY: number) => { x: number; y: number; }; updateRegionShapeAndImage: (rect: fabric.Rect) => void; createDeleteControl: () => fabric.Control; createOCRControl: () => fabric.Control; updateRegionNameText: (rect: fabric.Rect, region: Region) => void; updateTextLayers: (rect: fabric.Rect, region: Region) => void; setupBoundaryCheck: (rect: fabric.Rect) => (() => void) | undefined; cropRegionImage: (region: Region) => Promise; onChange?: (regions: Region[]) => void; } /** * Hook for loading labels from sample.labels * @param params - Region loader configuration parameters */ export declare const useRegionLoader: ({ canvas, sample, image, bgImagePosition, canvasInitializedRef, bgImagePositionRef, sampleRef, labelsLoadedRef, rectMapRef, textLayersMapRef, textLayoutContentMapRef, regionNameTextMapRef, ocrLoadingIconMapRef, imageToCanvasCoords, updateRegionShapeAndImage, createDeleteControl, createOCRControl, updateRegionNameText, updateTextLayers, setupBoundaryCheck, cropRegionImage, onChange, }: UseRegionLoaderParams) => void; export {};