import { U as User, P as PostMessageClient } from '../types-CXDDCs0b.mjs'; /** * Hook to access session state * Returns current session information including authentication status, user, and accounts */ declare function useSession(): { isLoading: boolean; error: Error | null; isAuthenticated: boolean; currentUser: User | null; accounts: User[]; }; /** * Hook to access current user * Returns the currently authenticated user or null */ declare function useUser(): User | null; /** * Hook to access account switcher methods * Returns methods for switching accounts, adding accounts, managing account, updating avatar, and logging out */ declare function useAccountSwitcher(): { switchAccount: (userUuid: string) => Promise; addAccount: () => Promise; manageAccount: () => Promise; updateAvatar: () => Promise; logoutAccount: (userUuid: string) => Promise; logoutAll: () => Promise; refresh: () => Promise; client: PostMessageClient | null; sendMessage: (type: string, payload?: unknown) => void; }; interface HandoffArrival { toast: string | null; dismiss: () => void; } /** * Reads the `?_toast=…` query param once on mount, scrubs it from the URL via * `router.replace`, and returns the decoded message. Intended to be mounted in * a top-level layout so any page the user lands on after a cross-product * handoff (F2 → F5) can render the arrival banner. */ declare function useHandoffArrival(): HandoffArrival; export { type HandoffArrival, useAccountSwitcher, useHandoffArrival, useSession, useUser };