import { MessageModel, MessageAttributes } from './messages'; interface ConversationAttributes { id: string; name: string; members: Array; left: boolean; expireTimer: number; profileSharing: boolean; secondaryStatus: boolean; mentionedUs: boolean; unreadCount: number; isArchived: boolean; active_at: number; timestamp: number; // timestamp of what? groupAdmins?: Array; isKickedFromGroup?: boolean; } export interface ConversationModel extends Backbone.Model { idForLogging: () => string; // Save model changes to the database commit: () => Promise; notify: (message: MessageModel) => void; isSessionResetReceived: () => boolean; updateExpirationTimer: ( expireTimer: number | null, source: string, receivedAt: number, options: object ) => void; isPrivate: () => boolean; setProfileKey: (key: string) => void; isMe: () => boolean; getRecipients: () => Array; onReadMessage: (message: MessageModel) => void; updateTextInputState: () => void; getName: () => string; addMessage: (attributes: Partial) => Promise; isMediumGroup: () => boolean; lastMessage: string; messageCollection: Backbone.Collection; }