export interface SendCodeVerificationEmailHexProps { mode: "code"; tokenFormat: "hex"; tokenLength?: never; } export interface SendCodeVerificationEmailShortProps { mode: "code"; tokenFormat: "numeric" | "alpha" | "alphanumeric"; tokenLength: number; } export interface SendLinkVerificationEmailProps { mode: "link"; tokenFormat?: "hex" | "numeric" | "alpha" | "alphanumeric"; tokenLength?: number; redirectUrl?: string; } /** * `mode` is required so every caller explicitly decides code vs link, and the * `tokenFormat`/`tokenLength` pair for "code" is a discriminated union rather * than two independent optionals — pairing `mode: "code"` with the default * `tokenFormat: "hex"` used to compile fine and silently email a 64-character * string no one could type. Calling the REST API directly (bypassing this SDK) * still gets the server's own defaults — see * server/src/v7/validation/auth/auth.schema.ts. */ export type SendVerificationEmailProps = SendCodeVerificationEmailHexProps | SendCodeVerificationEmailShortProps | SendLinkVerificationEmailProps; declare function useSendVerificationEmail(): (props: SendVerificationEmailProps) => Promise<{ success: boolean; }>; export default useSendVerificationEmail;