import type { MutableRefObject, RefObject } from 'react';
interface UseModalMoveProps {
    enabled: boolean;
    moveRef: RefObject<HTMLElement>;
    grabRef?: RefObject<HTMLElement>;
}
interface UseModalMovePropsReturn {
    mouseMoved: boolean;
}
/**
 * A custom hook that enables dragging and keyboard-based movement for docked modals.
 *
 * @param props - The hook configuration options
 * @param props.enabled - Whether the move functionality is enabled
 * @param props.moveRef - Reference to the element that will be moved
 * @param [props.grabRef] - Optional reference to the element used as the drag handle (defaults to moveRef)
 *
 * @returns A ref object containing information about move interactions
 *
 * @remarks
 * - Supports mouse drag (left mouse button) to horizontally reposition the modal
 * - Supports keyboard arrow keys for incremental movement when focused
 * - Holding Alt key prevents dragging and changes cursor to 'auto'
 * - Movement is constrained within viewport boundaries
 * - Uses requestAnimationFrame for smooth drag performance
 * - Keyboard movements are 5% of viewport width per key press
 */
declare const useModalMove: ({ enabled, moveRef, grabRef }: UseModalMoveProps) => MutableRefObject<UseModalMovePropsReturn>;
export default useModalMove;
//# sourceMappingURL=useModalMove.d.ts.map