import type { InputSize, ValidationStatus } from '../FwbInput/types' import type { Component } from 'vue' export type AutocompleteSize = InputSize export type { ValidationStatus } export interface AutocompleteProps> { modelValue?: T | null options: T[] loading?: boolean placeholder?: string disabled?: boolean valueField?: string searchFields?: string[] loadingText?: string noResultsText?: string minChars?: number remote?: boolean debounce?: number display?: string | ((option: T) => string) size?: AutocompleteSize validationStatus?: ValidationStatus class?: string | Record wrapperClass?: string | Record label?: string labelClass?: string | Record dropdownClass?: string | Record inputComponent?: Component inputProps?: Record zIndex?: number } export interface AutocompleteEmits> { (e: 'update:modelValue', value: T | null): void (e: 'select', option: T): void (e: 'search', query: string): void }