import { MutationOptions } from '@tanstack/query-core';
import { BetterFetchError } from 'better-auth/client';
import { PasskeyAuthClient } from './passkey-auth-client';
export type AddPasskeyParams<TAuthClient extends PasskeyAuthClient> = Parameters<TAuthClient["passkey"]["addPasskey"]>[0];
export type AddPasskeyOptions<TAuthClient extends PasskeyAuthClient> = Omit<ReturnType<typeof addPasskeyOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
/**
 * Mutation options factory for registering a new passkey.
 *
 * @param authClient - The Better Auth passkey client.
 * @param userId - The current signed-in user's ID. Used for cache partitioning.
 */
export declare function addPasskeyOptions<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient, userId?: string): MutationOptions<Awaited<ReturnType<(params: AddPasskeyParams<TAuthClient>) => Promise<{
    data: null;
    error: {
        message?: string | undefined;
        status: number;
        statusText: string;
    };
} | {
    data: import('@better-auth/passkey').Passkey & {
        session?: import('better-auth').Session;
        user?: import('better-auth').User;
    };
    error: null;
} | {
    webauthn: {
        response: import('@better-auth/passkey/client').RegistrationResponseJSON;
        clientExtensionResults: import('@better-auth/passkey/client').AuthenticationExtensionsClientOutputs;
    };
    data: import('@better-auth/passkey').Passkey & {
        session?: import('better-auth').Session;
        user?: import('better-auth').User;
    };
    error: null;
} | {
    data: null;
    error: {
        code: string;
        message: string;
        status: number;
        statusText: string;
    };
}>>>, BetterFetchError, Parameters<(params: AddPasskeyParams<TAuthClient>) => Promise<{
    data: null;
    error: {
        message?: string | undefined;
        status: number;
        statusText: string;
    };
} | {
    data: import('@better-auth/passkey').Passkey & {
        session?: import('better-auth').Session;
        user?: import('better-auth').User;
    };
    error: null;
} | {
    webauthn: {
        response: import('@better-auth/passkey/client').RegistrationResponseJSON;
        clientExtensionResults: import('@better-auth/passkey/client').AuthenticationExtensionsClientOutputs;
    };
    data: import('@better-auth/passkey').Passkey & {
        session?: import('better-auth').Session;
        user?: import('better-auth').User;
    };
    error: null;
} | {
    data: null;
    error: {
        code: string;
        message: string;
        status: number;
        statusText: string;
    };
}>>[0]>;
