export type TextCaseTransform = "none" | "lowercase" | "uppercase" | "title"; export type TextInputSize = "sm" | "md" | "lg"; export type TextInputVariant = "default" | "filled" | "outlined"; export type SuggestMatchFrom = "start" | "any"; export interface TextInputProps { id?: string; name?: string; label?: string; placeholder?: string; helperText?: string; value?: string; defaultValue?: string; disabled?: boolean; readOnly?: boolean; required?: boolean; minLength?: number; maxLength?: number; pattern?: string; validate?: (value: string) => string | null; validateOn?: "change" | "blur" | "submit"; allowedCharsRegex?: string; forbiddenCharsRegex?: string; trimOnBlur?: boolean; collapseWhitespace?: boolean; preventLeadingTrailingSpace?: boolean; allowSpaces?: boolean; autoFocus?: boolean; selectOnFocus?: boolean; debounceMs?: number; spellcheck?: boolean; autoComplete?: "on" | "off"; caseTransform?: TextCaseTransform; slugify?: boolean; normalizeDiacritics?: boolean; clearable?: boolean; counter?: boolean; warnAt?: number; errorAt?: number; prefix?: string; suffix?: string; size?: TextInputSize; variant?: TextInputVariant; fullWidth?: boolean; className?: string; suggestions?: string[]; suggestionsSource?: "local" | "api"; suggestionsApi?: string; suggestionsMap?: (response: unknown) => string[]; minCharsForSuggestions?: number; matchFrom?: SuggestMatchFrom; showSuggestionsOnFocus?: boolean; maxSuggestions?: number; onChange?: (value: string) => void; onBlur?: (value: string) => void; onFocus?: (value: string) => void; onValidate?: (isValid: boolean, error?: string) => void; onEnter?: (value: string) => void; onEscape?: () => void; onClear?: () => void; ariaLabel?: string; ariaDescribedBy?: string; invalid?: boolean; } type Cleanup = () => void; export declare function createTextInput(el: HTMLElement, props?: TextInputProps): { destroy: Cleanup; }; export {};