import { fabric } from "fabric"; import type { UseSelectionReturn } from "../types"; interface UseSelectionOptions { /** Callback when object is selected */ onSelect?: (obj: fabric.Object) => void; /** Callback when selection is cleared */ onDeselect?: () => void; /** Callback when object is deleted */ onDelete?: (obj: fabric.Object) => void; } /** * Hook for managing object selection on canvas * * @example * ```tsx * const selection = useSelection(canvasRef, imageRef, { * onSelect: (obj) => console.log('Selected:', obj), * onDelete: (obj) => saveState(), * }); * * // Toggle select mode * selection.toggleSelectMode(); * * // Delete selected object * selection.deleteSelected(); * * // Change selected object style * selection.setSelectedColor('#00ff00'); * selection.setSelectedStrokeWidth(3); * ``` */ export declare function useSelection(canvasRef: React.MutableRefObject, imageRef: React.MutableRefObject, options?: UseSelectionOptions): UseSelectionReturn; export default useSelection;