import { MutationOptions } from '@tanstack/query-core';
import { SignInPopupOptions, SignInPopupResult } from 'better-auth/client/plugins';
import { AuthClient } from '../lib/auth-client';
export type OAuthPopupAuthClient<TAuthClient extends AuthClient = AuthClient> = TAuthClient & {
    signIn: TAuthClient["signIn"] & {
        popup: (params: SignInPopupOptions) => Promise<SignInPopupResult>;
    };
};
export type SignInOAuthPopupParams = SignInPopupOptions;
export type SignInOAuthPopupError = NonNullable<SignInPopupResult["error"]>;
export type SignInOAuthPopupOptions<TAuthClient extends OAuthPopupAuthClient> = Omit<ReturnType<typeof signInOAuthPopupOptions<TAuthClient>>, "mutationKey" | "mutationFn">;
/** Mutation options factory for Better Auth's experimental OAuth popup flow. */
export declare function signInOAuthPopupOptions<TAuthClient extends OAuthPopupAuthClient>(authClient: TAuthClient): MutationOptions<Awaited<ReturnType<(params: SignInOAuthPopupParams) => Promise<SignInPopupResult>>>, SignInOAuthPopupError, Parameters<(params: SignInOAuthPopupParams) => Promise<SignInPopupResult>>[0]>;
