import React from 'react'; declare type SharedProps = { maxHeight?: number; maxWidth?: number; minHeight?: number; minWidth?: number; lockHorizontal?: boolean; lockVertical?: boolean; onResize?: (values: MoveValues) => void; onDragEnd?: (values: MoveValues) => void; onDragStart?: (values: MoveValues) => void; disabled?: boolean; maintainAspectRatio?: boolean; }; export interface ResizableProps extends SharedProps { interval?: number; initialHeight?: number | string; initialWidth?: number | string; } export interface ResizeHandleProps extends SharedProps { parent?: React.RefObject; interval?: number; reverse?: boolean; } export declare type MoveValues = { newHeight: number; heightDiff: number; newWidth: number; widthDiff: number; }; export declare const useResizable: (options: ResizableProps) => { rootRef: React.RefObject; getRootProps: () => { ref: React.RefObject; style: { height: string | number | undefined; width: string | number | undefined; }; }; getHandleProps: (handleProps?: ResizeHandleProps) => { onMouseDown: (e: React.MouseEvent | React.TouchEvent) => void; onTouchStart: (e: React.MouseEvent | React.TouchEvent) => void; style: { cursor: string; }; }; }; export {};