import { type BaseListItemData } from "../../../BaseListItem";
import { type DropdownGroupOption } from "../Dropdown.types";
declare function useDropdownSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, autoFocus?: boolean, isMenuOpen?: boolean, defaultValue?: T, value?: T, onChange?: (option: T | T[] | null) => void, onMenuOpen?: () => void, onMenuClose?: () => void, onOptionSelect?: (option: T) => void, showSelectedOptions?: boolean, filterOption?: (option: T, inputValue: string) => boolean, id?: string): {
    isOpen: boolean;
    inputValue: string;
    highlightedIndex: number;
    selectedItem: T;
    getToggleButtonProps: <Options>(options?: import("downshift").UseSelectGetToggleButtonPropsOptions & Options, otherOptions?: import("downshift").GetPropsCommonOptions) => import("downshift").Overwrite<import("downshift").UseSelectGetToggleButtonReturnValue, Options>;
    getLabelProps: <Options_1>(options?: import("downshift").UseSelectGetLabelPropsOptions & Options_1) => import("downshift").Overwrite<import("downshift").UseSelectGetLabelPropsReturnValue, Options_1>;
    getMenuProps: <Options_2>(options?: import("downshift").UseSelectGetMenuPropsOptions & Options_2, otherOptions?: import("downshift").GetPropsCommonOptions) => import("downshift").Overwrite<import("downshift").UseSelectGetMenuReturnValue, Options_2>;
    getInputProps: () => {};
    getItemProps: <Options_3>(options: import("downshift").UseSelectGetItemPropsOptions<T> & Options_3) => Omit<import("downshift").Overwrite<import("downshift").UseSelectGetItemPropsReturnValue, Options_3>, "index" | "item">;
    reset: () => void;
    filteredOptions: import("../../../BaseList").ListGroup<T>[];
    openMenu: () => void;
    toggleMenu: () => void;
    closeMenu: () => void;
};
export default useDropdownSelect;
