import type { Ref } from 'vue'; import type { FilterOption, SelectOption, SelectOptionInfo, SelectFieldNames } from '../interface'; export declare const useOptions: ({ options, extraOptions, inputValue, filterOption, showExtraOptions, valueKey, fieldNames, }: { options?: Ref | undefined; extraOptions?: Ref | undefined; inputValue?: Ref | undefined; filterOption?: Ref | undefined; showExtraOptions?: Ref | undefined; valueKey?: Ref | undefined; fieldNames?: Ref | undefined, import("../../_utils/types").FieldString | undefined> | undefined; }) => { validOptions: import("vue").ComputedRef<(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; getNextSlotOptionIndex: () => number; addSlotOptionInfo: (id: number, optionInfo: SelectOptionInfo) => void; removeSlotOptionInfo: (id: number) => void; };