/** * Authentication types based on API documentation */ export interface LoginRequest { email: string; password: string; } export interface RegisterRequest { email: string; password: string; } export interface AuthResponse { accessToken: string; refreshToken: string; userId: string; email: string; } export interface AuthError { error: string; } export interface User { id: string; email: string; } export interface AuthState { isAuthenticated: boolean; user: User | null; accessToken: string | null; refreshToken: string | null; isLoading: boolean; error: string | null; } export interface AuthContextValue extends AuthState { login: (email: string, password: string) => Promise; register: (email: string, password: string) => Promise; logout: () => void; clearError: () => void; }