import type { MultiSelectorOptionData } from './types';
interface UseMultiComboboxOptions {
    selectableItems: MultiSelectorOptionData[];
    isDisabled?: boolean;
    isOpen: boolean;
    hasSearch?: boolean;
    onOpen: () => void;
    onClose: () => void;
    onToggle: (itemValue: string) => void;
    /**
     * Clear all selected values. When provided, pressing Delete or Backspace on
     * the closed trigger clears the selection — a keyboard equivalent of the
     * clear button (comboboxes-2). No-op when the popup is open or search is on.
     */
    onClear?: () => void;
    /**
     * Whether at least one value is selected (i.e. there is something to clear).
     * The Delete/Backspace clear path is skipped when false.
     */
    hasValue?: boolean;
    listboxId: string;
}
interface UseMultiComboboxResult {
    highlightedIndex: number;
    setHighlightedIndex: (index: number) => void;
    getItemId: (index: number) => string;
    onTriggerClick: () => void;
    onKeyDown: (e: React.KeyboardEvent) => void;
    onItemMouseEnter: (item: MultiSelectorOptionData, index: number) => void;
}
/**
 * Handles keyboard navigation and toggle logic for multi-select combobox.
 * Works like useCombobox (index-based) but toggling does NOT close the dropdown.
 *
 * The caller must ensure selectableItems is in the same order as the rendered DOM.
 */
export declare function useMultiCombobox({ selectableItems, isDisabled, isOpen, hasSearch, onOpen, onClose, onToggle, onClear, hasValue, listboxId, }: UseMultiComboboxOptions): UseMultiComboboxResult;
export {};
//# sourceMappingURL=hooks.d.ts.map