import { fabric } from 'fabric'; import { VLMSample, Region } from '../../types'; interface UseCanvasSetupParams { sample: VLMSample | undefined; image: fabric.Image | undefined; onImageLoad?: VoidFunction; canvasRef: React.MutableRefObject; containerRef: React.MutableRefObject; canvasInitializedRef: React.MutableRefObject; bgImagePositionRef: React.MutableRefObject<{ left: number; top: number; }>; bgImageSizeRef: React.MutableRefObject<{ width: number; height: number; }>; rectMapRef: React.MutableRefObject>; updateTextLayersRef: React.MutableRefObject<((rect: fabric.Rect, region: Region) => void) | null>; onRectPositionUpdated?: (scale: number) => void; setCanvas: React.Dispatch>; setImage: React.Dispatch>; setScale: React.Dispatch>; setBgImagePosition: React.Dispatch>; setLoading: React.Dispatch>; } /** * Hook for canvas setup and image initialization * @param params - Canvas setup configuration parameters * @returns updateCanvas function to update canvas and image positioning */ export declare const useCanvasSetup: ({ sample, image, onImageLoad, canvasRef, containerRef, canvasInitializedRef, bgImagePositionRef, bgImageSizeRef, rectMapRef, updateTextLayersRef, onRectPositionUpdated, setCanvas, setImage, setScale, setBgImagePosition, setLoading, }: UseCanvasSetupParams) => { updateCanvas: () => void; }; export {};