import { MutationOptions } from '@tanstack/query-core';
import { BetterFetchError } from 'better-auth/client';
import { PhoneNumberAuthClient } from './phone-number-auth-client';
export type VerifyPhoneNumberParams<TAuthClient extends PhoneNumberAuthClient> = Parameters<TAuthClient["phoneNumber"]["verify"]>[0];
export type VerifyPhoneNumberOptions<TAuthClient extends PhoneNumberAuthClient> = Omit<ReturnType<typeof verifyPhoneNumberOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
/** Mutation options factory for verifying a phone-number code. */
export declare function verifyPhoneNumberOptions<TAuthClient extends PhoneNumberAuthClient>(authClient: TAuthClient): MutationOptions<Awaited<ReturnType<(params: VerifyPhoneNumberParams<TAuthClient>) => Promise<{
    data: (Omit<{
        status: boolean;
        token: string;
        user: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            email: string;
            emailVerified: boolean;
            name: string;
            image?: string | null | undefined;
        } & import('better-auth/plugins').UserWithPhoneNumber;
    }, "user"> & {
        user: import('better-auth').StripEmptyObjects<{
            id: string;
            createdAt: Date;
            updatedAt: Date;
            email: string;
            emailVerified: boolean;
            name: string;
            image?: string | null | undefined;
        } & {} & {
            phoneNumber?: string | null | undefined;
            phoneNumberVerified?: boolean | null | undefined;
        }>;
    }) | (Omit<{
        status: boolean;
        token: null;
        user: import('better-auth/plugins').UserWithPhoneNumber;
    }, "user"> & {
        user: import('better-auth').StripEmptyObjects<{
            id: string;
            createdAt: Date;
            updatedAt: Date;
            email: string;
            emailVerified: boolean;
            name: string;
            image?: string | null | undefined;
        } & {} & {
            phoneNumber?: string | null | undefined;
            phoneNumberVerified?: boolean | null | undefined;
        }>;
    });
    error: null;
} | {
    data: null;
    error: {
        code?: string | undefined | undefined;
        message?: string | undefined | undefined;
        status: number;
        statusText: string;
    };
}>>>, BetterFetchError, Parameters<(params: VerifyPhoneNumberParams<TAuthClient>) => Promise<{
    data: (Omit<{
        status: boolean;
        token: string;
        user: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            email: string;
            emailVerified: boolean;
            name: string;
            image?: string | null | undefined;
        } & import('better-auth/plugins').UserWithPhoneNumber;
    }, "user"> & {
        user: import('better-auth').StripEmptyObjects<{
            id: string;
            createdAt: Date;
            updatedAt: Date;
            email: string;
            emailVerified: boolean;
            name: string;
            image?: string | null | undefined;
        } & {} & {
            phoneNumber?: string | null | undefined;
            phoneNumberVerified?: boolean | null | undefined;
        }>;
    }) | (Omit<{
        status: boolean;
        token: null;
        user: import('better-auth/plugins').UserWithPhoneNumber;
    }, "user"> & {
        user: import('better-auth').StripEmptyObjects<{
            id: string;
            createdAt: Date;
            updatedAt: Date;
            email: string;
            emailVerified: boolean;
            name: string;
            image?: string | null | undefined;
        } & {} & {
            phoneNumber?: string | null | undefined;
            phoneNumberVerified?: boolean | null | undefined;
        }>;
    });
    error: null;
} | {
    data: null;
    error: {
        code?: string | undefined | undefined;
        message?: string | undefined | undefined;
        status: number;
        statusText: string;
    };
}>>[0]>;
