import { type ReactNode } from 'react'; import { type TextInputProps } from '../text-input'; export interface EmailInputProps extends Omit { /** * Override the "Enter a valid email address." error message. When omitted, the * translated default `t('inputs.email.invalid')` is used. * * Pass `null` when the host shows the message itself (a `FormField` * `error`, or its own element). The input then never marks itself * invalid: it turns red only when the host says so, through the * FormField's `error` or `aria-invalid`. `onValidityChange` still fires. */ errorMessage?: ReactNode | null; /** * Called whenever the validation state flips. `valid` is `true` when * the value is non-empty AND parses as a valid email, `false` * otherwise. The callback fires on every blur AND on every change * after the first blur — never before the user has had a chance to * type something. */ onValidityChange?: (valid: boolean) => void; /** * Skip the built-in validation entirely. The input behaves like a * plain `` — useful when the consumer is * wiring `FormField`'s `invalid` prop themselves, or running their * own schema validation (zod, react-hook-form). Default: `false`. */ disableBuiltInValidation?: boolean; /** * Autocomplete hint. Default `email`. Use `username` on a sign-in form, * where the email is what the account is known by: browsers and * password managers pair `username` with `current-password`. */ autoComplete?: 'email' | 'username'; } export declare const EmailInput: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=email-input.d.ts.map