import { FormatsConfig } from '@vuepic/vue-datepicker' export type TextInputProps = { required?: boolean placeholder?: string label?: string labelPosition?: 'top' | 'left' labelAlign?: 'left' | 'center' | 'right' labelWidth?: string width?: string icon?: string disabled?: boolean readonly?: boolean maxlength?: number min?: Date | string max?: Date | string height?: string maxHeight?: string bgColor?: string currencyFormatter?: Intl.NumberFormat dateformat?: FormatsConfig | null autosave?: (value: string) => Promise autosaveOnBlur?: boolean error?: string } & ( | { modelValue: string type: 'text' | 'textarea' | 'password' | 'email' | 'tel' | 'url' | 'date' | 'datetime' } | { modelValue: number type: 'number' | 'money' } ) export interface TextInputEmits { (e: 'update:modelValue', value: string | number): void (e: 'changed'): void (e: 'saved'): void (e: 'focus'): void (e: 'blur'): void (e: 'keydown', event: KeyboardEvent): void } export interface TextInputComponent { focus: () => void blur: () => void }