import { MutableRefObject } from 'react';
/**
 * Navigates through and selects options in lists/dropdowns via keyboard
 * @param {array} options - The options that could be selected
 * @param {string} optionId - Property key of the unique identifier for each item
 * @param {function} select - Function handler invoked when an item is selected by pressing Enter
 * @param {function} close  - Function handler invoked when selection is cancelled by Esc or Tab.
 * @param {array} optionsRefs - optional param for handling scroll with arrow keys
 * @param {ref} scrollableContainerRef - optional param for handling scroll with arrow keys
 * @param {number} scrollOffset - optional param for handling scroll with arrow keys
 */
export default function useOptionKeyboardNavigation<T, K extends keyof T, P extends keyof T>(options: T[], optionId: K, select: (o: T) => void, close: () => void, optionsRefs?: {
    [x: string]: MutableRefObject<HTMLElement>;
}, scrollableContainerRef?: React.RefObject<HTMLElement>, scrollOffset?: number | undefined, disabilityPropName?: P, inputRef?: React.RefObject<HTMLInputElement>): (number | T[K] | import("react").Dispatch<import("react").SetStateAction<number | T[K]>>)[];
