import { TagType } from '../../../components/Tag/src/Tag'; import { ComponentSize } from '../../../hooks'; import { ExtractPropTypes, PropType, Ref } from 'vue'; import type Select from './Select.vue'; export declare type SelectSize = ComponentSize; export declare const selectEmits: string[]; export declare const selectProps: { modelValue: { type: (ObjectConstructor | StringConstructor | BooleanConstructor | NumberConstructor | ArrayConstructor)[]; default: undefined; }; autocomplete: { type: StringConstructor; default: string; }; name: StringConstructor; id: StringConstructor; automaticDropdown: BooleanConstructor; size: { type: PropType; }; disabled: BooleanConstructor; clearable: BooleanConstructor; filterable: BooleanConstructor; allowCreate: BooleanConstructor; loading: BooleanConstructor; popperClass: { type: StringConstructor; default: string; }; remote: BooleanConstructor; loadingText: StringConstructor; noMatchText: StringConstructor; noDataText: StringConstructor; remoteMethod: FunctionConstructor; filterMethod: FunctionConstructor; multiple: BooleanConstructor; multipleLimit: { type: NumberConstructor; default: number; }; placeholder: { type: StringConstructor; }; defaultFirstOption: BooleanConstructor; reserveKeyword: { type: BooleanConstructor; default: boolean; }; valueKey: { type: StringConstructor; default: string; }; collapseTags: BooleanConstructor; popperAppendToBody: { type: BooleanConstructor; default: undefined; }; teleported: { type: BooleanConstructor; default: boolean; }; clearIcon: { type: StringConstructor; default: string; }; fitInputWidth: { type: BooleanConstructor; default: boolean; }; suffixIcon: { type: StringConstructor; default: string; }; tagType: { type: PropType; default: string; }; }; export declare const selectOptionProps: { value: { required: boolean; type: (ObjectConstructor | StringConstructor | BooleanConstructor | NumberConstructor)[]; }; label: (StringConstructor | NumberConstructor)[]; created: BooleanConstructor; disabled: { type: BooleanConstructor; default: boolean; }; }; export declare const selectOptionGroupProps: { label: StringConstructor; disabled: { type: BooleanConstructor; default: boolean; }; }; export 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 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 declare type SelectProps = ExtractPropTypes; export declare type SelectEmits = typeof selectEmits; export declare type SelectInstance = InstanceType; export declare type SelectOptionProps = ExtractPropTypes;