import type { MaybeRefOrGetter, Ref } from 'vue'; import type { VList } from '../VList/index.js'; import type { VTextField } from '../VTextField/index.js'; import type { VVirtualScroll } from '../VVirtualScroll/index.js'; import type { ListItem } from '../../composables/list-items.js'; import type { ScrollToPosition } from '../../composables/virtual.js'; export declare function useScrolling(listRef: Ref, textFieldRef: Ref, virtualScrollRef: Ref, displayItems: MaybeRefOrGetter, options?: { selectedIndex?: () => number; headerEl?: () => HTMLElement | undefined; menuContentEl?: () => HTMLElement | undefined; noAutoScroll?: MaybeRefOrGetter; }): { listEvents: Record; focusItem: (index: number, scroll?: boolean, position?: ScrollToPosition) => Promise; focusFirstItem: () => Promise; focusLastItem: () => Promise; focusFromActivator: (step: 1 | -1, landOnSelected?: boolean) => Promise; onActivatorKeydown: (e: KeyboardEvent, menu: Ref) => boolean; setPendingFocus: (step: 1 | -1 | null) => void; flushPendingFocus: () => boolean; };