import type { TokenScope, VerifyResponse } from '@dynamic-labs/sdk-api-core';
import type { OTPVerification } from '../otp.types';
/**
 * Parameters for verifying an OTP during sign-in or an authenticated user update.
 *
 * @example
 * ```ts
 * const params: VerifyOTPParams = {
 *   otpVerification,
 *   verificationToken: '123456',
 * };
 * ```
 * @see verifyOTP
 * @see sendEmailOTP
 */
export type VerifyOTPParams = {
    /**
     * When true on a sign-in request, the server returns an elevated access
     * token with credential:link scope if MFA is optional and the user has
     * no MFA methods registered. Ignored on post-login verify requests.
     */
    allowNewMFALinking?: boolean;
    otpVerification: OTPVerification;
    requestedScopes?: TokenScope[];
    verificationToken: string;
};
/**
 * Verifies a one-time password (OTP) for user authentication or updates.
 *
 * This function validates the OTP code provided by the user and completes
 * the verification process for either sign-in or account updates.
 *
 * @example
 * ```ts
 * const { verificationUUID } = await sendEmailOTP({ email: 'user@example.com' });
 * const response = await verifyOTP({
 *   otpVerification: { email: 'user@example.com', verificationUUID },
 *   verificationToken: '123456',
 * });
 * ```
 *
 * @param [params.allowNewMFALinking] - Whether sign-in may return a credential-link elevated token for users without MFA.
 * @param params.otpVerification - The OTP verification object containing verification details.
 * @param params.verificationToken - The token received from the OTP verification process.
 * @param [params.requestedScopes] - Optional token scopes to request during verification.
 * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
 * @returns A promise that resolves to the verify response object upon successful verification.
 * @see sendEmailOTP
 * @see sendSmsOTP
 * @instrumented
 */
export declare const verifyOTP: ({ allowNewMFALinking, otpVerification, requestedScopes, verificationToken, }: VerifyOTPParams, client?: import("../../../exports").DynamicClient) => Promise<VerifyResponse>;
//# sourceMappingURL=verifyOTP.d.ts.map