/** * Frontend Auth Configuration */ export interface AuthConfig { pbUrl?: string; collection?: string; provider?: string; loginContainerId?: string; userDisplayNameId?: string; userEmailId?: string; loginBtnId?: string; loginErrorId?: string; } /** * Backend Auth Configuration */ export interface BackendAuthConfig { clientId?: string; tenantId?: string; clientSecret?: string; } /** * Auth state object */ export interface AuthState { isAuthenticated: boolean; user: { id: string; name: string; email: string; } | null; token: string | null; } /** * Graph token cache object */ export interface GraphTokenCache { token: string; expiresOn: number; } /** * Auth event callbacks */ export interface AuthCallbacks { onAuthSuccess?: (state: AuthState) => void; onAuthFailure?: (error: any) => void; onTokenUpdate?: (state: AuthState) => void; onUiUpdate?: (state: AuthState) => void; }