import { VertesiaClient } from '@vertesia/client'; import { AuthTokenPayload } from '@vertesia/common'; import { LastSelectedAccountId_KEY, LastSelectedProjectId_KEY } from './constants'; export { LastSelectedAccountId_KEY, LastSelectedProjectId_KEY }; declare class UserSession { isLoading: boolean; client: VertesiaClient; authError?: Error; authToken?: AuthTokenPayload; setSession?: (session: UserSession) => void; lastSelectedAccount?: string | null; lastSelectedProject?: string | null; onboardingComplete?: boolean; constructor(client?: VertesiaClient, setSession?: (session: UserSession) => void); get store(): import("@vertesia/client").ZenoClient; get user(): AuthTokenPayload | undefined; get account(): import("@vertesia/common").AccountRef | undefined; get project(): import("@vertesia/common").ProjectRef | undefined; get accounts(): import("@vertesia/common").AccountRef[] | undefined; get authCallback(): Promise; get rawAuthToken(): Promise; signOut(): void; getAccount(): import("@vertesia/common").AccountRef | undefined; login(token: string): Promise; isLoggedIn(): boolean; logout(): void; switchAccount(targetAccountId: string): Promise; switchProject(targetProjectId: string): Promise; fetchAccounts(): Promise; fetchProjects(accountId: string): Promise; fetchOnboardingStatus(): Promise; clone(): UserSession; } declare const UserSessionContext: import("react").Context; export declare function useUserSession(): UserSession; export { UserSession, UserSessionContext }; //# sourceMappingURL=UserSession.d.ts.map