import { Ref } from 'vue';
import { KdsMultiSelectListBoxOption } from './types';
type UseMultiSelectListBoxSelectionOptions = {
    /** Writable model ref for the selected ids */
    modelValue: Ref<string[]>;
    /** All selectable values (including the optional bottom value) */
    allValues: Ref<KdsMultiSelectListBoxOption[]>;
    /** Whether the component is disabled */
    disabled: Ref<boolean>;
    /** Generate a DOM id for an option id (used for aria-activedescendant) */
    generateOptionId: (itemId: string) => string;
    /** Callback to scroll the list so that the given index is visible */
    scrollToIndex: (index: number) => void;
};
export declare const useMultiSelectListBoxSelection: ({ modelValue, allValues, disabled, generateOptionId, scrollToIndex, }: UseMultiSelectListBoxSelectionOptions) => {
    currentKeyNavIndex: Ref<number, number>;
    isKeyboardNavigating: Ref<boolean, boolean>;
    isCurrentValue: (id: string) => boolean;
    activeDescendantId: import('vue').ComputedRef<string | undefined>;
    handleClick: (event: MouseEvent, value: string, index: number) => void;
    onStartDrag: (e: MouseEvent) => void;
    onDrag: (e: MouseEvent) => void;
    onArrowDown: () => void;
    onArrowUp: () => void;
    onArrowDownShift: () => void;
    onArrowUpShift: () => void;
    onEndKey: () => void;
    onHomeKey: () => void;
    onEndKeyShift: () => void;
    onHomeKeyShift: () => void;
    onCtrlA: () => void;
    onFocus: () => void;
    onBlur: () => void;
};
export {};
//# sourceMappingURL=useMultiSelectListBoxSelection.d.ts.map