import type { InjectionKey, Ref } from 'vue'; interface SelectGroupContext { disabled: boolean; } export interface QueryChangeCtx { query: string; } export interface SelectContext { props: { multiple?: boolean; multipleLimit?: number; valueKey?: string; modelValue?: string | number | unknown | unknown[]; popperClass?: string; remote?: boolean; fitInputWidth?: boolean; }; queryChange: Ref; groupQueryChange: Ref; selectWrapper: HTMLElement; cachedOptions: Map; hoverIndex: number; optionsCount: number; filteredOptionsCount: number; options: Map; optionsArray: any[]; selected: any | any[]; setSelected(): void; onOptionCreate(vm: SelectOptionProxy): void; onOptionDestroy(key: number | string | Record): void; handleOptionSelect(vm: unknown, byClick: boolean): void; } export declare const selectGroupKey: InjectionKey; export declare const selectKey: InjectionKey; export interface SelectOptionProxy { value: string | number | Record; label: string | number; created: boolean; disabled: boolean; currentLabel: string; itemSelected: boolean; isDisabled: boolean; select: SelectContext; hoverItem: () => void; visible: boolean; hover: boolean; selectOptionClick: () => void; } export {};