import { Position, ResizeHandle, Size } from '../../../../../types/core'; export type UseNodeResizeOptions = { /** Minimum width for nodes */ minWidth?: number; /** Minimum height for nodes */ minHeight?: number; /** Whether to enable grid snapping during resize */ snapToGrid?: boolean; /** Grid size for snapping */ gridSize?: number; }; export type UseNodeResizeResult = { /** Start resizing a node from a specific handle */ startResize: (nodeId: string, handle: ResizeHandle, startPosition: Position, startSize: Size, startNodePosition: Position) => void; /** Check if a specific node is being resized */ isResizing: (nodeId: string) => boolean; /** Get the current resize handle for a node */ getResizeHandle: (nodeId: string) => ResizeHandle | null; /** Get the current size during resize */ getCurrentSize: (nodeId: string) => Size | null; /** Get the current position during resize (only differs for handles that move the origin) */ getCurrentPosition: (nodeId: string) => Position | null; }; /** * Hook for managing node resize operations * Provides a clean interface for resize functionality */ export declare const useNodeResize: (options?: UseNodeResizeOptions) => UseNodeResizeResult;