import type { MaybeRefOrGetter } from 'vue'; export type GridDirection = 'up' | 'down' | 'left' | 'right'; export declare function keyToDirection(key: string): GridDirection | null; export interface GridSelectionItem { value: T; isDisabled?: boolean; } export interface GridSelectionOptions { items: () => GridSelectionItem[]; columns: MaybeRefOrGetter; initialValue: (current: T | undefined) => T | undefined; itemAttribute: string; onSelect: (value: T) => void; onNavigation?: (direction: GridDirection, e: KeyboardEvent, currentValue: T | undefined) => boolean; onHighlight?: (value: T | undefined) => void; onEscape?: () => void; } export declare function useGridSelection({ items, columns, initialValue, itemAttribute, onSelect, onNavigation, onHighlight, onEscape }: GridSelectionOptions): { containerProps: import("vue").ComputedRef<{ ref: (el: any) => HTMLElement; tabindex: number; onKeydown: (e: KeyboardEvent) => void; onFocusin: (e: FocusEvent) => void; onFocusout: (e: FocusEvent) => void; }>; containerEl: import("vue").ShallowRef; selectItem: (value: T) => void; focusItem: (value: T) => void; clear: () => void; };