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; }