export type Cleanup = () => void; export interface EmailInputProps { id?: string; name?: string; label?: string; placeholder?: string; helperText?: string; value?: string; defaultValue?: string; disabled?: boolean; readOnly?: boolean; required?: boolean; autoComplete?: "email" | "off"; allowMultiple?: boolean; values?: string[]; maxEmails?: number; separators?: string; maxLength?: number; pattern?: string; allowedDomains?: string[]; blockedDomains?: string[]; allowedTlds?: string[]; blockedTlds?: string[]; forbidPlusAddressing?: boolean; validate?: (emailOrEmails: string | string[]) => string | null; validateOn?: "change" | "blur" | "submit"; trim?: boolean; lowercase?: boolean; lowercaseDomain?: boolean; clearable?: boolean; counter?: boolean; showCopy?: boolean; showGravatar?: boolean; showDomainSuggestions?: boolean; domainSuggestions?: string[]; minCharsForSuggestions?: number; className?: string; variant?: "outlined" | "filled"; size?: "sm" | "md" | "lg"; fullWidth?: boolean; onChange?: (value: string | string[]) => void; onBlur?: (value: string | string[]) => void; onFocus?: (value: string | string[]) => void; onValidate?: (isValid: boolean, message?: string) => void; onEnter?: (value: string | string[]) => void; onEscape?: () => void; onPickSuggestion?: (domain: string) => void; ariaLabel?: string; ariaDescribedBy?: string; invalid?: boolean; } export declare function createEmailInput(el: HTMLElement, props?: EmailInputProps): { destroy: Cleanup; };