UNPKG

@better-auth-ui/core

Version:

Authentication components and data utilities for [Better Auth](https://better-auth.com), available for React and Solid.

76 lines (75 loc) 2.49 kB
import { MutationOptions } from '@tanstack/query-core'; import { BetterFetchError } from 'better-auth/client'; import { UsernameAuthClient } from './username-auth-client'; /** * Parameters accepted by the username/password sign-in mutation. */ export type SignInUsernameParams<TAuthClient extends UsernameAuthClient> = Parameters<TAuthClient["signIn"]["username"]>[0]; /** * Consumer options for `signInUsernameOptions`. */ export type SignInUsernameOptions<TAuthClient extends UsernameAuthClient> = Omit<ReturnType<typeof signInUsernameOptions<TAuthClient>>, "mutationKey" | "mutationFn" | "meta">; /** * Mutation options factory for username/password sign-in. * * @param authClient - The Better Auth client. */ export declare function signInUsernameOptions<TAuthClient extends UsernameAuthClient>(authClient: TAuthClient): MutationOptions<Awaited<ReturnType<(params: SignInUsernameParams<TAuthClient>) => Promise<Omit<{ redirect: boolean; token: string; url: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & { username: string; displayUsername: string; }; }, "user"> & { user: import('better-auth').StripEmptyObjects<{ id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & {} & { displayUsername?: string | null | undefined; username?: string | null | undefined; }>; }>>>, BetterFetchError, Parameters<(params: SignInUsernameParams<TAuthClient>) => Promise<Omit<{ redirect: boolean; token: string; url: string | undefined; user: { id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & { username: string; displayUsername: string; }; }, "user"> & { user: import('better-auth').StripEmptyObjects<{ id: string; createdAt: Date; updatedAt: Date; email: string; emailVerified: boolean; name: string; image?: string | null | undefined; } & {} & { displayUsername?: string | null | undefined; username?: string | null | undefined; }>; }>>[0]>;