import type { UseStepUpAuthenticationParams, UseStepUpAuthenticationReturn } from './useStepUpAuthentication.types'; /** * Perform step-up authentication for an already-authenticated user. * * Supports multiple verification methods: * - **OTP** (email/SMS): `sendOtp()` then `verifyOtp()` * - **Wallet**: `verifyWallet()` for wallet signature verification * - **Passkey MFA**: `verifyPasskeyMfa()` for passkey-based MFA * - **TOTP MFA**: `verifyTotpMfa()` for authenticator app codes * - **Recovery codes**: `verifyRecoveryCode()` for backup recovery codes * - **Prompt MFA**: `promptMfa()` to show Dynamic's built-in MFA UI * - **Social/OAuth**: `verifySocial()` for OAuth provider reauthentication * * For OTP and wallet methods, automatically selects the first sign-in enabled * credential, or targets a specific one when `credentialId` is provided. * * @param params.credentialId - Optional id of a specific verified credential or * wallet to use. For OTP, must be an email or SMS credential. Defaults to the * first sign-in enabled email or SMS credential on the authenticated user. * * @example * ```tsx * // OTP flow * const { sendOtp, verifyOtp } = useStepUpAuthentication(); * await sendOtp(); * const result = await verifyOtp({ verificationToken: '123456', requestedScopes: ['wallet:export'] }); * * // Passkey MFA flow * const { verifyPasskeyMfa } = useStepUpAuthentication(); * const result = await verifyPasskeyMfa({ requestedScopes: ['wallet:export'] }); * * // TOTP MFA flow * const { verifyTotpMfa } = useStepUpAuthentication(); * const result = await verifyTotpMfa({ code: '123456', requestedScopes: ['wallet:export'] }); * ``` */ export declare const useStepUpAuthentication: ({ credentialId, }?: UseStepUpAuthenticationParams) => UseStepUpAuthenticationReturn;