interface Ts { $date: any; } interface U { _id: string; username: string; name: string; } interface UpdatedAt { $date: any; } interface Attachment { ts: Date; title_link_download: boolean; } export interface File { type: string; guid: string; image_url: string; subject: string; start_date?: Date; end_date?: Date; venue: string; id: string; } interface EditedAt { $date: number; } interface EditedBy { _id: string; username: string; } interface Ts2 { $date: number; } interface U2 { _id: string; username: string; name: string; } interface UpdatedAt2 { $date: number; } interface FirstUnread { _id: string; rid: string; msg: string; ts: Ts2; u: U2; _updatedAt: string; mentions: any[]; channels: any[]; } export interface Message { customFields:any; _id: string; id: null | string; rid: string; msg: string; ts: Ts; sendAttempt?: number u: U; from: 'Offline'|'History'|'stream'| 'send' t: string; origin: 'history' | 'stream' | 'local' _updatedAt: ''; mentions: any[]; channels: any[]; attachments: Attachment[]; file: File; editedAt: EditedAt; editedBy: EditedBy; urls: any[]; temporaryData: object localReference?: string, viewed: string[], received: string[], delate: boolean, delateRequest: boolean attachmentsModelData: { fileBase64: string } hasFile: boolean UploadAttachmentsTemp: number } export interface Lm { $date: any; } export interface LastMessage { _id: string; rid: string; msg: string; ts: Ts; u: U; _updatedAt: UpdatedAt2; mentions: any[]; channels: any[]; file: File; attachments: Attachment[]; } export interface CustomFields { } export interface Update { _id: string; t: string; usernames: string[]; usersCount: number; uids: string[]; default: boolean; ro: boolean; sysMes: boolean; _updatedAt: UpdatedAt; lm: Lm; lastMessage: LastMessage; name: string; fname: string; u: U2; customFields: CustomFields; } export interface DeletedAt { $date: any; } export interface Remove { _id: string; _deletedAt: DeletedAt; } export interface Result { update: Update[]; remove: Remove[]; } export interface Rooms { msg: string; id: string; result: Result; } export interface ChatMessage { msg: string; id: string; result: Message } export interface chatHistory { msg: string; id: string; result: { messages: Message[]; firstUnread: FirstUnread; unreadNotLoaded: number; }; } interface Ts { $date: any; } interface U { _id: string; username: string; name: string; } interface UpdatedAt { $date: any; } interface Attachment { ts: Date; title_link_download: boolean; } export interface File { type: string; guid: string; image_url: string; subject: string; start_date?: Date; end_date?: Date; venue: string; id: string; } interface EditedAt { $date: number; } interface EditedBy { _id: string; username: string; } interface Ts2 { $date: number; } interface U2 { _id: string; username: string; name: string; } interface UpdatedAt2 { $date: number; } interface FirstUnread { _id: string; rid: string; msg: string; ts: Ts2; u: U2; _updatedAt: string; mentions: any[]; channels: any[]; } export interface Message { customFields:any; _id: string; rid: string; msg: string; ts: Ts; u: U; t: string; _updatedAt: ''; mentions: any[]; channels: any[]; attachments: Attachment[]; file: File; editedAt: EditedAt; editedBy: EditedBy; urls: any[]; } export interface Lm { $date: any; } export interface LastMessage { _id: string; rid: string; msg: string; ts: Ts; u: U; _updatedAt: UpdatedAt2; mentions: any[]; channels: any[]; file: File; attachments: Attachment[]; } export interface CustomFields { } export interface Update { _id: string; t: string; usernames: string[]; usersCount: number; uids: string[]; default: boolean; ro: boolean; sysMes: boolean; _updatedAt: UpdatedAt; lm: Lm; lastMessage: LastMessage; name: string; fname: string; u: U2; customFields: CustomFields; } export interface DeletedAt { $date: any; } export interface Remove { _id: string; _deletedAt: DeletedAt; } export interface Result { update: Update[]; remove: Remove[]; } export interface Rooms { msg: string; id: string; result: Result; } export interface ChatMessage { msg: string; id: string; result: Message } export interface chatHistory { msg: string; id: string; result: { messages: Message[]; firstUnread: FirstUnread; unreadNotLoaded: number; }; } export interface chatUser { _id: string; createdAt: Date; emails: { address: string; verified: boolean; } type: string; status: 'online' | 'offline' | 'away' | 'busy' ; active: boolean; _updatedAt: Date; roles: string[]; name: string; lastLogin: Date; statusConnection: string; utcOffset: number; username: string; __rooms: string[]; requirePasswordChange?: boolean; settings: { preferences: { language: string; }; }; nickname: string; statusText: string; banners: any; statusDefault: string; language: string; avatarOrigin: string; avatarETag?: any; }