import { type DropdownGroupOption } from "../Dropdown.types";
import { type BaseListItemData } from "../../../BaseListItem";
declare function useDropdownMultiSelect<T extends BaseListItemData<Record<string, unknown>>>(options: DropdownGroupOption<T>, selectedItems: T[], setSelectedItems: (items: T[]) => void, isMenuOpen: boolean, autoFocus?: boolean, defaultValue?: T[], value?: T[], onChange?: (options: T[]) => 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;
    selectedItems: T[];
    getSelectedItemProps: <Options>(options: import("downshift").UseMultipleSelectionGetSelectedItemPropsOptions<T> & Options) => Omit<import("downshift").Overwrite<import("downshift").UseMultipleSelectionGetSelectedItemReturnValue, Options>, "index" | "selectedItem">;
    addSelectedItem: (item: T) => void;
    removeSelectedItem: (item: T) => void;
    getToggleButtonProps: <Options_1>(options?: import("downshift").UseSelectGetToggleButtonPropsOptions & Options_1, otherOptions?: import("downshift").GetPropsCommonOptions) => import("downshift").Overwrite<import("downshift").UseSelectGetToggleButtonReturnValue, Options_1>;
    getLabelProps: <Options_2>(options?: import("downshift").UseSelectGetLabelPropsOptions & Options_2) => import("downshift").Overwrite<import("downshift").UseSelectGetLabelPropsReturnValue, Options_2>;
    getMenuProps: <Options_3>(options?: import("downshift").UseSelectGetMenuPropsOptions & Options_3, otherOptions?: import("downshift").GetPropsCommonOptions) => import("downshift").Overwrite<import("downshift").UseSelectGetMenuReturnValue, Options_3>;
    getInputProps: () => {};
    getItemProps: <Options_4>(options: import("downshift").UseSelectGetItemPropsOptions<T> & Options_4) => Omit<import("downshift").Overwrite<import("downshift").UseSelectGetItemPropsReturnValue, Options_4>, "index" | "item">;
    reset: () => void;
    filteredOptions: import("../../../BaseList").ListGroup<T>[];
    openMenu: () => void;
    toggleMenu: () => void;
    closeMenu: () => void;
    getDropdownProps: <Options_5>(options?: import("downshift").UseMultipleSelectionGetDropdownPropsOptions & Options_5, extraOptions?: import("downshift").GetPropsCommonOptions) => Omit<import("downshift").Overwrite<import("downshift").UseMultipleSelectionGetDropdownReturnValue, Options_5>, "preventKeyAction">;
};
export default useDropdownMultiSelect;
