import { Ref } from 'vue';
export type ItemType = {
    [key: string]: unknown;
};
export interface UseSySelectKeyboardOptions {
    isOpen: Ref<boolean>;
    formattedItems: Ref<ItemType[]>;
    toggleMenu: (skipInitialFocus?: boolean) => void;
    selectItem: (item: ItemType | null | undefined, event?: Event) => void;
    getItemText: (item: unknown) => unknown;
    optionIdPrefix?: string;
    focusListItem?: boolean;
    skipInitialFocus?: Ref<boolean>;
}
export declare function useSySelectKeyboard(options: UseSySelectKeyboardOptions): {
    activeDescendantId: Ref<string, string>;
    lastFocusedIndex: Ref<number, number>;
    setActiveDescendant: (index: number) => void;
    clearActiveDescendant: () => void;
    findSelectedItemIndex: () => number;
    findItemStartingWith: (char: string) => number;
    handleEnterKey: () => void;
    handleSpaceKey: () => void;
    handleDownKey: () => void;
    handleUpKey: () => void;
    handleCharacterKey: (event: KeyboardEvent) => void;
    handleEscapeKey: () => void;
    handleHomeKey: () => void;
    handleEndKey: () => void;
    handlePageUpKey: () => void;
    handlePageDownKey: () => void;
    handleTabKey: () => void;
    restoreFocus: () => void;
};
