import type { ComponentPublicInstance, Ref } from 'vue'; import { VirtualListRef } from '../../_components/virtual-list/interface'; import { FilterOption, SelectOption, SelectFieldNames } from '../interface'; export declare const useSelect: ({ multiple, options, extraOptions, inputValue, filterOption, showExtraOptions, component, valueKey, fieldNames, loading, popupVisible, valueKeys, dropdownRef, optionRefs, virtualListRef, onSelect, onPopupVisibleChange, enterToOpen, defaultActiveFirstOption, }: { multiple?: Ref; options?: Ref; extraOptions?: Ref; inputValue?: Ref; filterOption?: Ref; showExtraOptions?: Ref; component?: Ref<"li" | "div">; valueKey?: Ref; fieldNames?: Ref; loading?: Ref; popupVisible: Ref; valueKeys: Ref; dropdownRef?: Ref; optionRefs?: Ref>; virtualListRef?: Ref; onSelect: (key: string, ev: Event) => void; onPopupVisibleChange: (visible: boolean) => void; enterToOpen?: boolean; defaultActiveFirstOption?: Ref; }) => { validOptions: import("vue").ComputedRef<(import("../interface").SelectOptionInfo | import("../interface").SelectOptionGroupInfo)[]>; optionInfoMap: import("vue").Reactive>; validOptionInfos: import("vue").ComputedRef<{ [x: string]: unknown; raw: { [x: string]: unknown; value?: import("../interface").SelectOptionValue | undefined; label?: string | undefined; disabled?: boolean | undefined; tagProps?: Record | undefined; }; key: string; index?: number | undefined; origin: "options" | "extraOptions"; value: import("../interface").SelectOptionValue; label: string; disabled?: boolean | undefined; tagProps?: Record | undefined; }[]>; enabledOptionKeys: import("vue").ComputedRef; activeKey: Ref; setActiveKey: (key?: string) => void; getNextActiveKey: (direction: "up" | "down") => string | undefined; scrollIntoView: (key: string) => void; handleKeyDown: (event: KeyboardEvent) => void; };