import { SelectFieldGroupByValue, SelectFieldOption, SelectFieldPinnedOptions } from '../types';
import { SelectItem } from '../../../internal/types/selectFieldInternalTypes';
export type UseSelectModeOptions = {
    options: SelectFieldOption[];
    pinned?: SelectFieldPinnedOptions;
    groupToString?: (groupValue: SelectFieldGroupByValue) => string;
    groupSorter?: (a: SelectFieldGroupByValue, b: SelectFieldGroupByValue) => number;
    selectedOption: SelectFieldOption | null;
    onSelectedOptionChange: (option: SelectFieldOption | null) => void;
    onIsOpenChange?: (changes: {
        isOpen?: boolean;
    }) => void;
    displayAs: "popover" | "dialog";
    disableHighlightOnOpen?: boolean;
    disabled: boolean;
    virtualize?: boolean;
    onScrollToHighlight?: (index: number) => void;
};
/**
 * Wraps downshift's useSelect for non-searchable select fields.
 * Returns a compatible interface to useCombo (minus getInputProps/inputValue).
 */
export declare const useSelectMode: ({ options, pinned, groupToString, groupSorter, selectedOption, onSelectedOptionChange, onIsOpenChange, displayAs, disableHighlightOnOpen, disabled, virtualize, onScrollToHighlight, }: UseSelectModeOptions) => {
    wrapperDivRef: import('react').RefObject<HTMLDivElement>;
    getToggleButtonProps: <Options>(options?: import('downshift').UseSelectGetToggleButtonPropsOptions & Options, otherOptions?: import('downshift').GetPropsCommonOptions) => import('downshift').Overwrite<import('downshift').UseSelectGetToggleButtonReturnValue, Options>;
    getLabelProps: <Options>(options?: import('downshift').UseSelectGetLabelPropsOptions & Options) => import('downshift').Overwrite<import('downshift').UseSelectGetLabelPropsReturnValue, Options>;
    getMenuProps: <Options>(options?: import('downshift').UseSelectGetMenuPropsOptions & Options, otherOptions?: import('downshift').GetPropsCommonOptions) => import('downshift').Overwrite<import('downshift').UseSelectGetMenuReturnValue, Options>;
    getItemProps: <Options>(options: import('downshift').UseSelectGetItemPropsOptions<SelectItem> & Options) => Omit<import('downshift').Overwrite<import('downshift').UseSelectGetItemPropsReturnValue, Options>, "item" | "index">;
    highlightedIndex: number;
    isOpen: boolean;
    items: SelectItem[];
    sectionsMeta: import('./useCombo').SectionMeta[];
    closeMenu: () => void;
    openMenu: () => void;
};
