import { MutationOptions } from '@tanstack/query-core';
import { BetterFetchError } from 'better-auth/client';
import { PhoneNumberAuthClient } from './phone-number-auth-client';
export type SignInPhoneNumberParams<TAuthClient extends PhoneNumberAuthClient> = Parameters<TAuthClient["signIn"]["phoneNumber"]>[0];
export type SignInPhoneNumberOptions<TAuthClient extends PhoneNumberAuthClient> = Omit<ReturnType<typeof signInPhoneNumberOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
/** Mutation options factory for phone-number and password sign-in. */
export declare function signInPhoneNumberOptions<TAuthClient extends PhoneNumberAuthClient>(authClient: TAuthClient): MutationOptions<Awaited<ReturnType<(params: SignInPhoneNumberParams<TAuthClient>) => Promise<Omit<{
    token: string;
    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;
    }>;
}>>>, BetterFetchError, Parameters<(params: SignInPhoneNumberParams<TAuthClient>) => Promise<Omit<{
    token: string;
    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;
    }>;
}>>[0]>;
