import { type Dispatch, type SetStateAction } from 'react';
import { type SelectValue } from '../../NativeSelect/NativeSelect';
import { type SelectProps } from '../CustomSelect';
import { type CustomSelectOptionInterface } from '../types';
interface UseFocusedOptionControllerProps<OptionInterfaceT extends CustomSelectOptionInterface> {
    filteredOptions: SelectProps<OptionInterfaceT>['options'];
    scrollToElement: (index: number, center?: boolean) => void;
    selectedOptionValue: SelectValue;
}
export interface UseFocusedOptionControllerReturn {
    focusedOptionValue: SelectValue;
    setFocusedOptionValue: Dispatch<SetStateAction<SelectValue>>;
    focusOptionByIndex: (index: number | undefined, scrollTo: boolean) => void;
    resetFocusedOption: () => void;
    focusOption: (type: 'next' | 'prev') => void;
    selectFocusedValue: () => void;
}
export declare function useFocusedOptionController<OptionInterfaceT extends CustomSelectOptionInterface>({ selectedOptionValue, filteredOptions, scrollToElement, }: UseFocusedOptionControllerProps<OptionInterfaceT>): UseFocusedOptionControllerReturn;
export {};
//# sourceMappingURL=useFocusedOptionController.d.ts.map