export type User = { uid: string; first_name: string; last_name: string; }; export interface AuthState { user: User | null; token: string | null; isLoading: boolean; error: string | null; } declare class AuthService { private authState; private listeners; private currentTask; constructor(); exchangeCodeForToken(code: string): Promise; subscribe(listener: (state: AuthState) => void, bearerToken?: string): () => void; private notifyListeners; private setState; authenticate(): Promise; private getUserInfo; private getLoggedOutState; login(): void; loginWithCredentials(username: string, password: string): Promise; logout(): void; getState(): AuthState; } export declare const authService: AuthService; export {};