export interface LoginRequest { userName: string; password: string; } export interface LoginResponse { token: string; userClaims: UserClaim[]; userRole: string; message?: string; error?: string; } export interface UserClaim { type: string; value: string; } export interface AuthUser { userId: string; userName: string; fullName: string; userRole: string; company: string; userClaims: UserClaim[]; token: string; } export interface AuthContextType { user: AuthUser | null; isAuthenticated: boolean; isLoading: boolean; login: (authData: Omit & { userName: string }) => Promise; logout: () => void; } export interface AuthState { user: AuthUser | null; isAuthenticated: boolean; isLoading: boolean; }