import { ReactiveController, ReactiveControllerHost } from 'lit'; import { AppUser } from '../model/spa-model.js'; export declare class AuthController implements ReactiveController { private host; private subscription?; /** Current user or undefined if not logged in */ user: AppUser | undefined; /** Whether the initial auth check is complete */ authCheckComplete: boolean; constructor(host: ReactiveControllerHost); hostConnected(): void; hostDisconnected(): void; /** Check if user is logged in */ get isLoggedIn(): boolean; /** Anonymous (guest) session? Logged in, but without credentials. */ get isAnonymous(): boolean; /** Get user's email */ get email(): string | null; /** Get user's UID */ get uid(): string | null; /** Get user's claims */ get claims(): Record; /** * Check if user has a specific role * @param role - The role to check */ hasRole(role: string): boolean; /** * Check if user has at least one of the roles (OR logic) * @param roles - Array of roles to check */ hasAnyRole(roles: string[]): boolean; /** * Check if user has all of the roles (AND logic) * @param roles - Array of roles to check */ hasAllRoles(roles: string[]): boolean; } //# sourceMappingURL=AuthController.d.ts.map