import { MultiSelectFieldGroupByValue, MultiSelectFieldOption, MultiSelectFieldPinnedOptions } from '../types';
import { CheckState } from '../../../../types';
export type UseSelectModeMultipleOptions = {
    options: MultiSelectFieldOption[];
    pinned?: MultiSelectFieldPinnedOptions;
    groupToString?: (groupValue: MultiSelectFieldGroupByValue) => string;
    groupSorter?: (a: MultiSelectFieldGroupByValue, b: MultiSelectFieldGroupByValue) => number;
    selectAll?: {
        label: string;
        onClick: () => void;
        checkState: CheckState;
    };
    selectedOptions: MultiSelectFieldOption[];
    onSelectedOptionsChange: (options: MultiSelectFieldOption[]) => void;
    onIsOpenChange?: (changes: {
        isOpen?: boolean;
    }) => void;
    displayAs: "popover" | "dialog";
    disabled: boolean;
    virtualize?: boolean;
};
/**
 * Wraps downshift's useSelect for non-searchable multi-select fields.
 * Keeps menu open after selection and handles bulk actions.
 */
export declare const useSelectModeMultiple: ({ options, pinned, groupToString, groupSorter, selectAll, selectedOptions, onSelectedOptionsChange, onIsOpenChange, displayAs, disabled, virtualize, }: UseSelectModeMultipleOptions) => {
    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<import('../..').SelectFieldDownshiftItem> & Options) => Omit<import('downshift').Overwrite<import('downshift').UseSelectGetItemPropsReturnValue, Options>, "item" | "index">;
    highlightedIndex: number;
    isOpen: boolean;
    downshiftItems: import('../..').SelectFieldDownshiftItem[];
    sectionsMeta: import('../../SelectField/internal/types').SectionMeta[];
    closeMenu: () => void;
    openMenu: () => void;
    toggleMenu: () => void;
    selectedOptions: import('../..').SelectFieldOption[];
};
