/** * Authentication and User Types * CRESyncFlow - Commercial Real Estate CRM */ export enum Role { SUPER_ADMIN = 'SUPER_ADMIN', ADMIN = 'ADMIN', USER = 'USER' } export interface User { id: string; email: string; role: Role; firstName?: string; lastName?: string; brokerage?: string; ghlLocationId?: string; createdAt: Date; } export interface Session { user: User; accessToken: string; expiresAt: Date; } export interface LoginCredentials { email: string; password: string; } export interface SignupData { email: string; password: string; firstName: string; lastName: string; } export interface AuthState { user: User | null; session: Session | null; isLoading: boolean; isAuthenticated: boolean; } export interface PasswordResetRequest { email: string; } export interface PasswordResetConfirm { token: string; newPassword: string; }