import { Passkey } from '@better-auth/passkey'; import { BetterFetchError } from '@better-fetch/fetch'; import { Account, User } from 'better-auth'; import { Organization, Member } from 'better-auth/plugins/organization'; import { createAuthClient } from 'better-auth/react'; type Refetch = () => Promise | unknown; type AnyAuthClient = Omit, "signUp" | "getSession">; type ApiKey = { id: string; name?: string | null; start?: string | null; expiresAt?: Date | null; createdAt: Date; updatedAt: Date; metadata?: Record | null; }; declare const authClient: any; type AuthClient = typeof authClient; type Session = AuthClient["$Infer"]["Session"]["session"]; type Invitation = { id: string; organizationId: string; email: string; role: string; status: string; inviterId: string; expiresAt: Date; teamId?: string | undefined; }; type AnyAuthSession = AnyAuthClient["$Infer"]["Session"]; type AuthHook = { isPending: boolean; isRefetching: boolean; data?: T | null; error?: BetterFetchError | null; refetch?: Refetch; }; type AuthHooks = { useSession: () => ReturnType; useListAccounts: () => AuthHook; useAccountInfo: (params: Parameters[0]) => AuthHook<{ user: User; }>; useListDeviceSessions: () => AuthHook; useListSessions: () => AuthHook; useListPasskeys: () => AuthHook; useListApiKeys: () => AuthHook<{ apiKeys: ApiKey[]; }>; useActiveOrganization: () => Partial>; useListOrganizations: () => Partial>; useHasPermission: (params: Parameters[0]) => AuthHook<{ error: null; success: boolean; }>; useInvitation: (params: Parameters[0]) => AuthHook; useListInvitations: (params: Parameters[0]) => AuthHook; useListUserInvitations: () => AuthHook; useListMembers: (params: Parameters[0]) => AuthHook<{ members: (Member & { user?: Partial | null; })[]; total: number; }>; useListTeams: (params?: { organizationId?: string; }) => AuthHook; useListTeamMembers: (params: { teamId?: string; }) => AuthHook; useListUserTeams: () => AuthHook; useIsRestoring?: () => boolean; }; type Team = { id: string; name: string; organizationId: string; createdAt: Date; updatedAt: Date; }; type TeamMember = { id: string; teamId: string; userId: string; createdAt: Date; user?: Partial | null; }; export type { AnyAuthClient as A, Refetch as R, Session as S, Team as T, AuthHooks as a, TeamMember as b, AuthClient as c };