@better-auth-ui/core
Version:
Authentication components and data utilities for [Better Auth](https://better-auth.com), available for React and Solid.
75 lines (74 loc) • 2.64 kB
TypeScript
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]>;