@better-auth-ui/core
Version:
Authentication components and data utilities for [Better Auth](https://better-auth.com), available for React and Solid.
29 lines (28 loc) • 2.45 kB
TypeScript
import { QueryClient, QueryOptions, skipToken } from '@tanstack/query-core';
import { AuthClient, InferData } from '../lib/auth-client';
export type ListAccountsData<TAuthClient extends AuthClient = AuthClient> = InferData<TAuthClient["listAccounts"]>;
export type ListAccountsParams<TAuthClient extends AuthClient> = Parameters<TAuthClient["listAccounts"]>[0];
export type ListAccount<TAuthClient extends AuthClient = AuthClient> = NonNullable<ListAccountsData<TAuthClient>>[number];
export type ListAccountsOptions<TAuthClient extends AuthClient> = Omit<QueryOptions<ListAccountsData<TAuthClient>>, "queryKey"> & ListAccountsParams<TAuthClient>;
/**
* Query options factory for a user's linked social accounts.
*
* @param authClient - The Better Auth client.
* @param userId - The current signed-in user's ID. Used for cache partitioning.
* @param params - Parameters forwarded to `authClient.listAccounts`.
*/
export declare function listAccountsOptions<TAuthClient extends AuthClient>(authClient: TAuthClient, userId?: string, params?: ListAccountsParams<TAuthClient>): {
queryKey: readonly ["auth", "user", string | undefined, "listAccounts", Record<string, any> | null];
queryFn: typeof skipToken | (({ signal }: {
client: QueryClient;
queryKey: readonly unknown[];
signal: AbortSignal;
meta: import('@tanstack/query-core').QueryMeta | undefined;
pageParam?: unknown;
direction?: unknown;
}) => Promise<InferData<TAuthClient["listAccounts"]>>);
};
export declare const ensureListAccounts: <TAuthClient extends AuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string, options?: ListAccountsOptions<TAuthClient>) => Promise<InferData<TAuthClient["listAccounts"]>>;
export declare const prefetchListAccounts: <TAuthClient extends AuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string, options?: ListAccountsOptions<TAuthClient>) => Promise<void>;
export declare const fetchListAccounts: <TAuthClient extends AuthClient>(queryClient: QueryClient, authClient: TAuthClient, userId: string, options?: ListAccountsOptions<TAuthClient>) => Promise<InferData<TAuthClient["listAccounts"]>>;
export declare const getListAccounts: <TAuthClient extends AuthClient = AuthClient>(queryClient: QueryClient, _authClient?: TAuthClient, userId?: string, params?: ListAccountsParams<TAuthClient>) => InferData<TAuthClient["listAccounts"]> | undefined;