/** 用户相关模块 */
declare namespace Auth {
  /**
   * 用户角色类型(前端静态路由用角色类型进行路由权限的控制)
   * - super: 超级管理员(该权限具有所有路由数据)
   * - admin: 管理员
   * - user: 用户
   */
  type RoleType = 'admin' | 'user' | 'member';

  /** 用户信息 */
  interface UserInfo {
    /** 用户id */
    id: number | null;
    /** 用户名 */
    username: string;
    phone: string | null;
    email: string;
    permissions: [];
    departments: [];
    /** 用户角色类型 */
    userRole: RoleType;
  }
}

declare namespace UserManagement {
  interface User extends ApiUserManagement.User {
    /** 序号 */
    index: number;
    /** 表格的key（id） */
    key: number;
  }

  /**
   * 用户性别
   * - 0: 女
   * - 1: 男
   */
  // type GenderKey = NonNullable<User['gender']>;

  /**
   * 用户状态

   */
  type UserStatusKey = NonNullable<User['disabled']>;
}
