import { NIMTeam } from './Team';
import { NIMUser } from './User';
/**
 * 群成员类型
 * - [相关文档](https://dev.yunxin.163.com/docs/interface/即时通讯Web端/NIMSDK-Web/TeamMember.html#.type)
 */
export const enum NIMTeamMemberType {
  /** 普通成员 */
  normal = 'normal',
  /** 群主 */
  owner = 'owner',
  /** 管理员 */
  manager = 'manager',
}

/**
 * 群成员
 * - [相关文档](https://dev.yunxin.163.com/docs/interface/即时通讯Web端/NIMSDK-Web/TeamMember.html)
 */
export interface NIMTeamMember {
  /**
   * 所属群ID
   * - 文档中 `number`
   * - 实际应为 `string`
   */
  teamId: NIMTeam['teamId'];
  /** 云信账号 */
  account: NIMUser['account'];
  /** 群成员类型 */
  type: NIMTeamMemberType;
  /** 在群里面的昵称 */
  nickInTeam: string;
  /** 是否关闭此群的消息提醒, true表示关闭提醒, 但是SDK仍然会收到这个群的消息, SDK只是记录这个设置, 具体根据这个设置要执行的操作由第三方APP决定 */
  muteTeam: boolean;
  /** 入群时间戳(ms) */
  joinTime: number;
  /** 更新时间戳(ms) */
  updateTime: number;
  /** 普通群拉人进来的时候, 被拉的人处于未激活状态, 未激活状态下看不到这个群, 当有人说话后自动转为激活状态, 能看到该群 */
  active: boolean;
  /** 是否被禁言 */
  mute: boolean;
  /** 第三方扩展字段 */
  custom: string;
}
