import { MutationOptions } from '@tanstack/query-core';
import { BetterFetchError } from 'better-auth/client';
import { EmailOtpAuthClient } from './email-otp-auth-client';
export type VerifyEmailOtpParams<TAuthClient extends EmailOtpAuthClient> = Parameters<TAuthClient["emailOtp"]["verifyEmail"]>[0];
export type VerifyEmailOtpOptions<TAuthClient extends EmailOtpAuthClient> = Omit<ReturnType<typeof verifyEmailOtpOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
/** Mutation options factory for verifying an email address with a code. */
export declare function verifyEmailOtpOptions<TAuthClient extends EmailOtpAuthClient>(authClient: TAuthClient): MutationOptions<Awaited<ReturnType<(params: VerifyEmailOtpParams<TAuthClient>) => Promise<(Omit<{
    status: boolean;
    token: string;
    user: {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        email: string;
        emailVerified: boolean;
        name: string;
        image?: string | null | undefined;
    } & Record<string, any>;
}, "user"> & {
    user: import('better-auth').StripEmptyObjects<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        email: string;
        emailVerified: boolean;
        name: string;
        image?: string | null | undefined;
    }>;
}) | (Omit<{
    status: boolean;
    token: null;
    user: {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        email: string;
        emailVerified: boolean;
        name: string;
        image?: string | null | undefined;
    } & Record<string, any>;
}, "user"> & {
    user: import('better-auth').StripEmptyObjects<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        email: string;
        emailVerified: boolean;
        name: string;
        image?: string | null | undefined;
    }>;
})>>>, BetterFetchError, Parameters<(params: VerifyEmailOtpParams<TAuthClient>) => Promise<(Omit<{
    status: boolean;
    token: string;
    user: {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        email: string;
        emailVerified: boolean;
        name: string;
        image?: string | null | undefined;
    } & Record<string, any>;
}, "user"> & {
    user: import('better-auth').StripEmptyObjects<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        email: string;
        emailVerified: boolean;
        name: string;
        image?: string | null | undefined;
    }>;
}) | (Omit<{
    status: boolean;
    token: null;
    user: {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        email: string;
        emailVerified: boolean;
        name: string;
        image?: string | null | undefined;
    } & Record<string, any>;
}, "user"> & {
    user: import('better-auth').StripEmptyObjects<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        email: string;
        emailVerified: boolean;
        name: string;
        image?: string | null | undefined;
    }>;
})>>[0]>;
