import type { MaybeRefOrGetter } from "vue"; export declare const XY_FOCUSABLE_SELECTOR: string; export interface XyEscapeKeyOptions { active?: MaybeRefOrGetter; preventDefault?: boolean; stopPropagation?: boolean; target?: MaybeRefOrGetter; } export type XyRovingFocusAction = "activate" | "first" | "last" | "next" | "previous"; export interface XyRovingFocusIndexOptions { currentIndex: number; isDisabled?: (index: number) => boolean; itemCount: number; loop?: boolean; offset: number; } export interface XyTypeaheadOptions { currentIndex?: number; getText: (item: T) => string | undefined; isDisabled?: (item: T, index: number) => boolean; items: readonly T[]; loop?: boolean; search: string; } export declare function isFocusableElement(element: Element | null | undefined): element is HTMLElement; export declare function getFocusableElements(container: Element | null | undefined): HTMLElement[]; export declare function focusElement(element: Element | null | undefined, options?: FocusOptions): boolean; export declare function focusFirstElement(container: Element | null | undefined, options?: FocusOptions): boolean; export declare function focusLastElement(container: Element | null | undefined, options?: FocusOptions): boolean; export declare function getRovingFocusIndex(options: XyRovingFocusIndexOptions): number; export declare function getRovingFocusAction(event: Pick): XyRovingFocusAction | undefined; export declare function isTypeaheadKey(event: Pick): boolean; export declare function findTypeaheadIndex(options: XyTypeaheadOptions): number; export declare function useEscapeKey(handler: (event: KeyboardEvent) => void, options?: XyEscapeKeyOptions): () => void | undefined;