export interface AuthUser {
  id: string;
  name: { am: string; en: string };
  email: string;
  roles: string[];
  status: string;
  employee: any[];
  userType: string;
  username: string;
  permissions: string[];
  phoneNumber: string;
  sharepointId: string | null;
  hasSetPassword: boolean;
  hasFinishedRegistration: boolean;
  hasFinishedDMSOnboarding: boolean;
}

export interface SignupPayload {
  email: string;
  username: string;
  phoneNumber: string;
  userType: string;
  name: { en: string; am: string };
  password: string;
  confirmPassword: string;
}

export interface SignupResponse {
  token: string;
  refreshToken: string;
  otp: string;
  userId: string;
}

export interface OtpPayload {
  phone: string;
  otp: string;
}

export interface OtpResponse {
  success: boolean;
  message: string;
}

export interface SetPasswordPayload {
  newPassword: string;
  confirmPassword: string;
  userId: string;
  email: string;
  verificationCode: string;
}

export interface GenerateVerificationCodePayload {
  email: string;
  phoneNumber: string;
  type: string;
}

export interface LoginPayload {
  email: string;
  password: string;
}

export interface LoginResponse {
  token: string;
  refreshToken: string;
}
