import { MultiSelectFieldGroupByValue, MultiSelectFieldOption, MultiSelectFieldPinnedOptions } from '../types';
import { SelectItem } from '../../../internal/types/selectFieldInternalTypes';
import { CheckState } from '../../../types';
export type UseSelectModeMultipleOptions = {
    options: MultiSelectFieldOption[];
    pinned?: MultiSelectFieldPinnedOptions;
    groupToString?: (groupValue: MultiSelectFieldGroupByValue) => string;
    groupSorter?: (a: MultiSelectFieldGroupByValue, b: MultiSelectFieldGroupByValue) => number;
    selectAll?: {
        label: string;
        checkState: CheckState;
    };
    /** True while a `compute`-driven bulk action is in flight. Disables option rows. */
    bulkPending: boolean;
    /** Called when the user activates the select-all row. */
    onBulkActivate: (kind: "selectAll" | "selectFiltered", searchValue: string) => void;
    selectedOptions: MultiSelectFieldOption[];
    onSelectedOptionsChange: (options: MultiSelectFieldOption[]) => void;
    onIsOpenChange?: (changes: {
        isOpen?: boolean;
    }) => void;
    displayAs: "popover" | "dialog";
    disabled: boolean;
    virtualize?: boolean;
    onScrollToHighlight?: (index: number) => void;
};
/**
 * 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, bulkPending, onBulkActivate, selectedOptions, onSelectedOptionsChange, onIsOpenChange, displayAs, disabled, virtualize, onScrollToHighlight, }: 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<SelectItem> & Options) => Omit<import('downshift').Overwrite<import('downshift').UseSelectGetItemPropsReturnValue, Options>, "item" | "index">;
    highlightedIndex: number;
    isOpen: boolean;
    items: SelectItem[];
    sectionsMeta: import('../../SelectField/internal/useCombo').SectionMeta[];
    closeMenu: () => void;
    openMenu: () => void;
    toggleMenu: () => void;
    selectedOptions: import('../..').SelectFieldOption[];
};
