import type { RegistrationVerifiableField, UseContactVerificationReturn } from './use-contact-verification'; /** The message a failed send leaves under the field. */ export declare function useSendFailureMessage(state: UseContactVerificationReturn): string | undefined; interface VerificationActionProps { state: UseContactVerificationReturn; /** True when the value could be an address or a number. */ canSend: boolean; } /** "Send code", beside the field. Gone once a code is out. */ export declare function VerificationAction({ state, canSend, }: VerificationActionProps): import("react/jsx-runtime").JSX.Element | null; interface VerificationPanelProps { field: RegistrationVerifiableField; state: UseContactVerificationReturn; /** Hide "Change email": the address cannot be edited here. */ canChange?: boolean; /** Show "Change" beside the success line of a field that started * verified (`allowChange`). The email shows it elsewhere. */ changeWhenVerified?: boolean; /** Called after "Change" unlocks the field, to focus it. */ onUnlocked?: () => void; /** Called once when the code is right, to put focus back on the field. */ onVerified: () => void; } /** What sits under the field: the code box, or the success line. */ export declare function VerificationPanel({ field, state, canChange, changeWhenVerified, onUnlocked, onVerified, }: VerificationPanelProps): import("react/jsx-runtime").JSX.Element; interface ChangeSlotProps { field: RegistrationVerifiableField; state: UseContactVerificationReturn; /** Called after the field is unlocked, to focus it. */ onUnlocked: () => void; } /** * "Change email", in the cell where Confirm email sits. A hidden label * line above it keeps the action level with the input beside it. */ export declare function VerificationChangeSlot({ field, state, onUnlocked, }: ChangeSlotProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=registration-verification.d.ts.map