import { ExtractPropTypes, PropType } from 'vue'; export interface SelectOption { label: string; value: string | number | boolean; disabled?: boolean; group?: string; [key: string]: any; } export interface SelectGroup { label: string; options: SelectOption[]; } export type SelectSize = 'sm' | 'default' | 'lg'; export declare const selectProps: { readonly modelValue: { readonly type: PropType; readonly default: null; }; readonly options: { readonly type: PropType<(SelectOption | SelectGroup | string)[]>; readonly default: () => never[]; }; readonly placeholder: { readonly type: StringConstructor; readonly default: "Select..."; }; readonly disabled: { readonly type: BooleanConstructor; readonly default: false; }; readonly clearable: { readonly type: BooleanConstructor; readonly default: false; }; readonly searchable: { readonly type: BooleanConstructor; readonly default: false; }; readonly multiple: { readonly type: BooleanConstructor; readonly default: false; }; readonly collapseTags: { readonly type: BooleanConstructor; readonly default: true; }; readonly maxTags: { readonly type: NumberConstructor; readonly default: 1; }; readonly size: { readonly type: PropType; readonly default: "default"; }; readonly emptyText: { readonly type: StringConstructor; readonly default: "No options"; }; readonly labelField: { readonly type: StringConstructor; readonly default: "label"; }; readonly valueField: { readonly type: StringConstructor; readonly default: "value"; }; readonly fetchOptions: { readonly type: PropType<(query: string, page: number) => Promise<(SelectOption | string)[]>>; readonly default: undefined; }; readonly loading: { readonly type: BooleanConstructor; readonly default: false; }; readonly creatable: { readonly type: BooleanConstructor; readonly default: false; }; readonly closeOnSelect: { readonly type: BooleanConstructor; readonly default: undefined; }; readonly reserveKeyword: { readonly type: BooleanConstructor; readonly default: false; }; readonly defaultFirstOption: { readonly type: BooleanConstructor; readonly default: false; }; readonly debounce: { readonly type: NumberConstructor; readonly default: 0; }; readonly maxSelection: { readonly type: NumberConstructor; readonly default: 0; }; readonly pageCount: { readonly type: NumberConstructor; readonly default: 0; }; readonly scrollDistance: { readonly type: NumberConstructor; readonly default: 20; }; readonly destroyOnClose: { readonly type: BooleanConstructor; readonly default: false; }; readonly prefixIcon: { readonly type: PropType; readonly default: undefined; }; readonly triggerClass: { readonly type: PropType>; readonly default: ""; }; readonly triggerStyle: { readonly type: PropType>; readonly default: undefined; }; readonly teleport: { readonly type: PropType; readonly default: false; }; }; export type SelectProps = ExtractPropTypes;