import { MutationOptions } from '@tanstack/query-core';
import { BetterFetchError } from 'better-auth/client';
import { PasskeyAuthClient } from './passkey-auth-client';
export type SignInPasskeyParams<TAuthClient extends PasskeyAuthClient> = Parameters<TAuthClient["signIn"]["passkey"]>[0];
export type SignInPasskeyOptions<TAuthClient extends PasskeyAuthClient> = Omit<ReturnType<typeof signInPasskeyOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">;
/**
 * Mutation options factory for passkey sign-in.
 *
 * @param authClient - The Better Auth passkey client.
 */
export declare function signInPasskeyOptions<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient): MutationOptions<Awaited<ReturnType<(params?: void | SignInPasskeyParams<TAuthClient> | undefined) => Promise<{
    data: null;
    error: {
        message?: string | undefined;
        status: number;
        statusText: string;
    };
} | {
    data: {
        session: import('better-auth').Session;
        user: import('better-auth').User;
    };
    error: null;
} | {
    data: null;
    error: {
        code: string;
        message: string;
        status: number;
        statusText: string;
    };
} | {
    webauthn: {
        response: import('@better-auth/passkey/client').AuthenticationResponseJSON;
        clientExtensionResults: import('@better-auth/passkey/client').AuthenticationExtensionsClientOutputs;
    };
    data: null;
    error: {
        message?: string | undefined;
        status: number;
        statusText: string;
    };
} | {
    webauthn: {
        response: import('@better-auth/passkey/client').AuthenticationResponseJSON;
        clientExtensionResults: import('@better-auth/passkey/client').AuthenticationExtensionsClientOutputs;
    };
    data: {
        session: import('better-auth').Session;
        user: import('better-auth').User;
    };
    error: null;
}>>>, BetterFetchError, Parameters<(params?: void | SignInPasskeyParams<TAuthClient> | undefined) => Promise<{
    data: null;
    error: {
        message?: string | undefined;
        status: number;
        statusText: string;
    };
} | {
    data: {
        session: import('better-auth').Session;
        user: import('better-auth').User;
    };
    error: null;
} | {
    data: null;
    error: {
        code: string;
        message: string;
        status: number;
        statusText: string;
    };
} | {
    webauthn: {
        response: import('@better-auth/passkey/client').AuthenticationResponseJSON;
        clientExtensionResults: import('@better-auth/passkey/client').AuthenticationExtensionsClientOutputs;
    };
    data: null;
    error: {
        message?: string | undefined;
        status: number;
        statusText: string;
    };
} | {
    webauthn: {
        response: import('@better-auth/passkey/client').AuthenticationResponseJSON;
        clientExtensionResults: import('@better-auth/passkey/client').AuthenticationExtensionsClientOutputs;
    };
    data: {
        session: import('better-auth').Session;
        user: import('better-auth').User;
    };
    error: null;
}>>[0]>;
/** Mutation options for the non-blocking conditional passkey request. */
export declare function passkeyAutoFillOptions<TAuthClient extends PasskeyAuthClient>(authClient: TAuthClient): ReturnType<typeof signInPasskeyOptions<TAuthClient>>;
