export enum UserStatus { Pending = 0, Active = 1, Suspended = 2, Locked = 3, Disabled = 4 }

export interface CreateUserRequest {
  email: string;
  password: string;
  roleCodes: string[];
}

export interface UserDto {
  id: string;
  email: string;
  status: UserStatus;
  roles: string[];
  isActive: boolean;
  createdOn: string;
  updatedOn?: string | null;
  lastLoginOn: string | null;
}

export interface UserLookupDto {
  readonly id: string;
  readonly ianaId: string;
  readonly displayName: string;
}
export interface UpdateUserRequest extends CreateUserRequest {
  readonly isActive: boolean;
}

export type UserModalMode = 'create' | 'edit';