import type { ComponentPublicInstance, Ref } from 'vue'; import { FilterOption, SelectOption, SelectFieldNames } from '../interface'; import { VirtualListRef } from '../../_components/virtual-list-v2/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 | undefined; options?: Ref | undefined; extraOptions?: Ref | undefined; inputValue?: Ref | undefined; filterOption?: Ref | undefined; showExtraOptions?: Ref | undefined; component?: Ref<"div" | "li", "div" | "li"> | undefined; valueKey?: Ref | undefined; fieldNames?: Ref | undefined, import("../../_utils/types").FieldString | undefined> | undefined; loading?: Ref | undefined; popupVisible: Ref; valueKeys: Ref; dropdownRef?: Ref, {}, {}, "", {}, any> | undefined, ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase, {}, {}, "", {}, any> | undefined> | undefined; optionRefs?: Ref, Record> | undefined; virtualListRef?: Ref | undefined; onSelect: (key: string, ev: Event) => void; onPopupVisibleChange: (visible: boolean) => void; enterToOpen?: boolean | undefined; defaultActiveFirstOption?: Ref | undefined; }) => { validOptions: import("vue").ComputedRef<(import("../interface").SelectOptionInfo | import("../interface").SelectOptionGroupInfo)[]>; optionInfoMap: import("vue").Reactive>; validOptionInfos: import("vue").ComputedRef<{ [x: string]: any; raw: Record; key: string; index?: number | undefined; origin: "slot" | "options" | "extraOptions"; value: import("../interface").SelectOptionValue; label: string; disabled?: boolean | undefined; tagProps?: any; render?: import("vue").RenderFunction | undefined; }[]>; enabledOptionKeys: import("vue").ComputedRef; activeKey: Ref; setActiveKey: (key?: string | undefined) => void; addSlotOptionInfo: (id: number, optionInfo: import("../interface").SelectOptionInfo) => void; removeSlotOptionInfo: (id: number) => void; getNextActiveKey: (direction: 'up' | 'down') => string | undefined; scrollIntoView: (key: string) => void; handleKeyDown: (event: KeyboardEvent) => void; };