@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
TypeScript
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]>;