import { IRocketChatRecord } from './IRocketChatRecord'; import { IUser } from './IUser'; import { IServerRoomItem } from './IRoom'; export enum TEAM_TYPE { PUBLIC = 0, PRIVATE = 1 } export type SortType = -1 | 1; export interface ITeam extends IRocketChatRecord { name: string; type: TEAM_TYPE; roomId: string; createdBy: Pick; createdAt: Date; } export interface ITeamMember extends IRocketChatRecord { teamId: string; userId: string; roles?: Array; createdBy: Pick; createdAt: Date; } export interface IPaginationOptions { offset: number; count: number; } export interface IRecordsWithTotal { records: Array; total: number; } export interface ITeamStatData { teamId: string; mainRoom: string; totalRooms: number; totalMessages: number; totalPublicRooms: number; totalPrivateRooms: number; totalDefaultRooms: number; totalMembers: number; } export interface ITeamStats { totalTeams: number; teamStats: Array; } export interface IServerTeamUpdateRoom extends Omit< IServerRoomItem, 'topic' | 'joinCodeRequired' | 'description' | 'jitsiTimeout' | 'usersCount' | 'e2eKeyId' | 'avatarETag' > { broadcast: boolean; msgs: number; default: boolean; sysMes: boolean; teamId: string; teamDefault: boolean; }