import { CSSProperties, VNode } from 'vue'; import { MountElement } from '../utils'; export interface Option { disabled?: boolean; value: string | number; label?: string; [propName: string]: any; } export interface GroupOption { options?: (string | number | Option)[]; label?: string; value?: string | number; } export interface Props { allowClear?: boolean; autofocus?: boolean; backfill?: boolean; bordered?: boolean; defaultActiveFirstOption?: boolean; defaultOpen?: boolean; disabled?: boolean; open?: boolean; placeholder?: string; popupClassName?: string; zIndex?: number; dropdownMatchSelectWidth?: boolean | number; dropdownMenuStyle?: CSSProperties; to?: string | MountElement | false; options?: (string | number | Option | GroupOption)[]; value?: string; width?: string | number; size?: 'small' | 'middle' | 'large'; status?: 'error' | 'warning'; filterOption?: boolean | ((inputValue: string, option: Option) => boolean); } export interface AutoCompleteSlots { default?: () => VNode[]; clearIcon?: (props: { clearIcon: () => void; }) => VNode[]; option?: (props: any) => VNode[]; } declare function inputFocus(): void; declare function blurInput(): void; declare function __VLS_template(): { attrs: Partial<{}>; slots: Readonly & AutoCompleteSlots; refs: { contentRef: HTMLDivElement; customInputRef: HTMLDivElement; inputRef: HTMLInputElement; }; rootEl: HTMLDivElement; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent void; select: (...args: any[]) => void; focus: (...args: any[]) => void; blur: (...args: any[]) => void; change: (...args: any[]) => void; clear: (...args: any[]) => void; "update:value": (...args: any[]) => void; openChange: (...args: any[]) => void; dropdownVisibleChange: (...args: any[]) => void; "update:open": (...args: any[]) => void; }, string, import('vue').PublicProps, Readonly & Readonly<{ onSearch?: ((...args: any[]) => any) | undefined; onSelect?: ((...args: any[]) => any) | undefined; onFocus?: ((...args: any[]) => any) | undefined; onBlur?: ((...args: any[]) => any) | undefined; onChange?: ((...args: any[]) => any) | undefined; onClear?: ((...args: any[]) => any) | undefined; "onUpdate:value"?: ((...args: any[]) => any) | undefined; onOpenChange?: ((...args: any[]) => any) | undefined; onDropdownVisibleChange?: ((...args: any[]) => any) | undefined; "onUpdate:open"?: ((...args: any[]) => any) | undefined; }>, { size: "small" | "middle" | "large"; value: string; width: string | number; bordered: boolean; placeholder: string; to: string | MountElement | false; zIndex: number; open: boolean; disabled: boolean; allowClear: boolean; autofocus: boolean; backfill: boolean; defaultActiveFirstOption: boolean; defaultOpen: boolean; popupClassName: string; dropdownMatchSelectWidth: boolean | number; dropdownMenuStyle: CSSProperties; options: (string | number | Option | GroupOption)[]; status: "error" | "warning"; filterOption: boolean | ((inputValue: string, option: Option) => boolean); }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { contentRef: HTMLDivElement; customInputRef: HTMLDivElement; inputRef: HTMLInputElement; }, HTMLDivElement>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };