import { User as PrivyUser } from '@privy-io/react-auth'; /** * Return type for useAuth hook */ export interface UseAuthReturn { /** Opens Privy login modal */ login: () => void; /** Logs out the current user and clears all SDK state */ logout: () => Promise; /** Whether user is authenticated */ authenticated: boolean; /** Whether authentication is in progress */ loading: boolean; /** Privy user object containing linked accounts and profile data */ user: PrivyUser | null; /** Gets Privy JWT access token for authenticated API calls */ getAccessToken: () => Promise; /** Whether SDK is ready (not loading) */ ready: boolean; /** Export wallet private key (opens Privy modal). Address is optional - defaults to first wallet */ exportWallet: (options?: { address?: string; }) => Promise; } /** * Hook for managing user authentication via Privy * Automatically configures API client with access token when user authenticates * * @returns Authentication methods and user state * * @example * ```tsx * function LoginButton() { * const { login, logout, authenticated, user } = useAuth(); * * if (!authenticated) { * return ; * } * * return ( *
*

Welcome, {user?.email?.address}!

* *
* ); * } * ``` */ export declare const useAuth: () => UseAuthReturn;