import { fabric } from "fabric"; import type { ShapeType, UseShapesReturn } from "../types"; interface UseShapesOptions { /** Default stroke color for shapes */ defaultColor?: string; /** Default stroke width for shapes */ defaultStrokeWidth?: number; /** Callback when shape is added */ onShapeAdd?: (shape: fabric.Object, type: ShapeType) => void; } /** * Hook for adding shapes to the canvas * * @example * ```tsx * const shapes = useShapes(canvasRef, imageRef, { * defaultColor: '#ff0000', * onShapeAdd: (shape, type) => { * saveState(); * setSelectedObject(shape); * } * }); * * // Add shapes * shapes.addRectangle(); * shapes.addCircle(); * shapes.addShape('rectangle'); * ``` */ export declare function useShapes(canvasRef: React.MutableRefObject, imageRef: React.MutableRefObject, options?: UseShapesOptions): UseShapesReturn; export default useShapes;