import { JSX } from 'solid-js'; import { PanelHeadingVariant } from '../module'; import { AuthInputMode } from './auth-input'; export interface AuthFormProps { onSubmit?: (credential: string, type: AuthInputMode, options?: { marketingSmsConsent: boolean; marketingSmsConsentText?: string; }) => Promise; onVerify?: (otp: string) => Promise; onSkip?: () => void | Promise; onSuccess?: () => void; /** Badge color/intent in the panel heading. */ variant?: PanelHeadingVariant; /** Badge text in the panel heading. Defaults to `auth.badgeLabel`. */ label?: JSX.Element; title?: string; description?: string; /** When set, renders a countdown above the form. */ countdownTo?: Date; /** When set and `countdownTo` is not, renders the close time and a sign-in hint above the form. */ endedAt?: Date; submitLabel?: string; verifyLabel?: string; allowSkip?: boolean; skipLabel?: string; showBranding?: boolean; /** * Offers a separate optional marketing SMS panel after credential entry in * phone mode. Off by default: set it only when `onSubmit` preserves its third argument through * verification, so the explicit consent choice and displayed text are not silently dropped. */ showMarketingSmsConsent?: boolean; /** Merchant named in the consent disclosure. Consent is offered only when this is nonempty. */ marketingSmsMerchantName?: string; /** Initial step when mounting. Useful for SSR-resume or storybook lanes that need the verify step. */ defaultStep?: "credential" | "verify"; /** Initial credential (email or E.164 phone) — pairs with `defaultStep="verify"`. */ defaultCredential?: string; /** Initial credential type — pairs with `defaultStep="verify"`. */ defaultCredentialType?: AuthInputMode; /** Initial error message when mounting. Cleared on the next input change. */ defaultError?: string; className?: string; } export declare function AuthForm(props: AuthFormProps): JSX.Element; export declare namespace AuthForm { var displayName: string; }