@class IMMessageItem, NSString, NSArray, NSDate, IMDService, NSRecursiveLock, NSDictionary, NSMutableDictionary, IMSharedEmergencyInfo, IMDServiceSession, NSNumber, IMDAccount; @protocol IMDaemonListenerChatProtocol; @interface IMDChat : NSObject <INSpeakable> { NSRecursiveLock *_lock; NSString *_accountID; NSString *_serviceName; NSDictionary *_properties; NSString *_chatIdentifier; NSString *_guid; NSString *_groupID; NSString *_engramID; NSString *_roomName; NSString *_displayName; NSString *_lastAddressedLocalHandle; NSString *_lastAddressedSIMID; NSArray *_participants; NSArray *_replySuggestions; IMMessageItem *_lastMessage; NSMutableDictionary *_chatInfo; long long _state; unsigned long long _unreadCount; long long _rowID; long long _cloudKitSyncState; NSString *_originalGroupID; NSString *_serverChangeToken; long long _lastReadMessageTimeStamp; long long _lastMessageTimeStampOnLoad; unsigned char _style; BOOL _isArchived; long long _isFiltered; BOOL _isBlackholed; BOOL _hasHadSuccessfulQuery; long long _autoDonationBehavior; NSDate *_autoDonationBehaviorLastModificationDate; } @property (readonly, nonatomic) NSString *spokenPhrase; @property (readonly, nonatomic) NSString *pronunciationHint; @property (readonly, nonatomic) NSString *vocabularyIdentifier; @property (readonly, nonatomic) NSArray *alternativeSpeakableMatches; @property (readonly, nonatomic) NSString *identifier; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) id<IMDaemonListenerChatProtocol> broadcaster; @property (retain, nonatomic) NSNumber *cachedStewieSharingChat; @property (copy) NSString *guid; @property unsigned char style; @property (copy, setter=setGroupID:) NSString *groupID; @property (copy, setter=setEngramID:) NSString *engramID; @property (copy) NSString *roomName; @property (copy) NSString *displayName; @property (retain) IMMessageItem *lastMessage; @property (retain) NSDictionary *properties; @property (copy) NSString *accountID; @property (setter=_setUnreadCount:) unsigned long long unreadCount; @property (setter=_setRowID:) long long rowID; @property (copy) NSArray *participants; @property long long isFiltered; @property BOOL isBlackholed; @property (getter=isRecovered) BOOL recovered; @property (getter=isDeletingIncomingMessages) BOOL deletingIncomingMessages; @property BOOL hasHadSuccessfulQuery; @property (readonly, nonatomic) BOOL isUnnamedChat; @property unsigned long long numMessagesSent; @property BOOL meCardUpdated; @property (copy, nonatomic) NSString *serverChangeToken; @property long long lastMessageTimeStampOnLoad; @property unsigned long long repairHistory; @property (copy) NSString *chatIdentifier; @property (copy) NSString *serviceName; @property (readonly, nonatomic) NSString *persistentID; @property (readonly, nonatomic) NSString *deviceIndependentID; @property (readonly, nonatomic) NSString *pinningIdentifier; @property long long state; @property (copy) NSString *cloudKitRecordID; @property long long cloudKitSyncState; @property (readonly, copy) NSString *originalGroupID; @property (nonatomic) long long lastReadMessageTimeStamp; @property (readonly, copy) NSString *lastSeenMessageGuid; @property (retain, nonatomic) NSDate *lastTUConversationCreatedDate; @property (readonly, retain) IMDServiceSession *serviceSession; @property (readonly, retain) IMDAccount *account; @property (readonly, retain) IMDService *service; @property (retain, nonatomic) NSArray *replySuggestions; @property (copy) NSString *lastAddressedLocalHandle; @property (copy) NSString *lastAddressedSIMID; @property (readonly, retain) NSDictionary *dictionaryRepresentation; @property (readonly, retain) NSDictionary *chatProperties; @property (readonly) BOOL isArchived; @property (readonly) BOOL isRecovered; @property (readonly) BOOL isDeletingIncomingMessages; @property (retain, nonatomic) NSDate *lastReplicationSinceLoadDate; @property BOOL createEngramGroupOnMessageSend; @property BOOL pendingENGroupParticipantUpdate; @property (readonly, nonatomic) NSString *personCentricID; @property (readonly, nonatomic) NSDictionary *nicknamesForParticipants; @property BOOL wasReportedAsJunk; @property (readonly, nonatomic) long long autoDonationBehavior; @property (readonly, nonatomic) NSDate *autoDonationBehaviorLastModificationDate; @property (readonly, nonatomic, getter=isStewieChat) BOOL stewieChat; @property (readonly, nonatomic, getter=isStewieEmergencyChat) BOOL stewieEmergencyChat; @property (readonly, nonatomic, getter=isStewieRoadsideChat) BOOL stewieRoadsideChat; @property (readonly, nonatomic, getter=isStewieSharingChat) BOOL stewieSharingChat; @property (retain, nonatomic) IMSharedEmergencyInfo *emergencyUserInfo; @property (nonatomic, getter=isOscarChat) BOOL oscarChat; + (id)_recordType; + (id)chatWithSyncData:(id)a0; + (BOOL)identifier:(id)a0 equalsIdentifier:(id)a1; - (void)addParticipants:(id)a0; - (void)dealloc; - (id)_chatRegistry; - (void)addParticipant:(id)a0; - (void).cxx_destruct; - (BOOL)removeParticipant:(id)a0; - (id)recordName; - (BOOL)updateProperties:(id)a0; - (BOOL)isBusinessChat; - (id)participantHandles; - (BOOL)isGroupChat; - (long long)compareBySequenceNumberAndDateDescending:(id)a0; - (BOOL)isSMS; - (void)updateIsBlackholed:(BOOL)a0; - (void)updateIsFiltered:(long long)a0; - (BOOL)isNewerThan:(id)a0; - (BOOL)removeParticipants:(id)a0; - (BOOL)isOlderThan:(id)a0; - (BOOL)isEmergencyChat; - (id)_mergeParticipantIDs; - (id)_sortedParticipantIDHashForParticipants:(id)a0; - (id)_sortedParticipantIDHashForParticipants:(id)a0 usesPersonCentricID:(BOOL)a1; - (id)associatedBusinessID; - (id)lastSentMessageDate; - (id)lastTranslatableMessageGUIDWithLanguageCode:(id)a0; - (id)lastUsedBIAReferenceID; - (id)lastUsedBIAUserID; - (void)setOriginalGroupID:(id)a0; - (void)updateAssociatedBusinessID:(id)a0; - (void)updateIsEmergencyChat:(BOOL)a0; - (void)updateLastMessageGUID:(id)a0 forLanguageCode:(id)a1; - (void)updateLastUsedBIAReferenceID:(id)a0; - (void)updateLastUsedBIAUserID:(id)a0; - (void)updateSMSCategory:(long long)a0 subCategory:(long long)a1; - (void)updateShouldForceToSMS:(BOOL)a0; - (void)updateServerChangeToken:(id)a0; - (int)emergencyTranscriptSharingState; - (void)updateEngramID:(id)a0; - (BOOL)_addGroupPhotoToCKRecord:(id)a0 error:(id *)a1; - (void)updateNicknamesForParticipants:(id)a0; - (id)_ckUniqueID; - (void)_convergeGroupChatIfNeededWithServiceSession:(id)a0 account:(id)a1 groupID:(id)a2 incomingParticipants:(id)a3 fromIdentifier:(id)a4 toIdentifier:(id)a5 receivedGroupParticipantVersion:(id)a6 receivedGroupProtocolVersion:(id)a7 messageTimeStamp:(id)a8 groupPhotoCreationTime:(id)a9; - (id)_copyCKRecordFromExistingCKMetadataWithZoneID:(id)a0 salt:(id)a1; - (id)_expectedGUID; - (id)_findChatParticipantsWithFromID:(id)a0; - (void)_incrementParticipantVersion; - (void)_indexChatAndMessagesToSpotlight; - (void)_modifyGroupWithServiceSession:(id)a0 groupID:(id)a1 toParticipants:(id)a2 toIdentifier:(id)a3 fromIdentifier:(id)a4 account:(id)a5 messageTimeStamp:(id)a6; - (BOOL)_otherChatExistsWithChatGUID:(id)a0; - (void)_persistMergedIDMergedChatsIfNeeded:(id)a0; - (void)_repairChatIfNeeded; - (void)_repairGUIDIfNeeded; - (void)_repairParticipantForChatIDHandleIDMismatch; - (void)_resetGUIDToExpectedGUID:(id)a0; - (void)_setAutoDonationBehavior:(long long)a0 lastModificationDate:(id)a1 setDirtyFlag:(BOOL)a2; - (void)_setParticipantVersion:(long long)a0; - (void)_updateCachedParticipants; - (void)_updateIsRecovered:(BOOL)a0 silently:(BOOL)a1; - (void)_updateLastMessage:(id)a0; - (void)_updateRepairHistoryWithRepairHistory:(unsigned long long)a0; - (BOOL)applyChangesUsingSyncData:(id)a0; - (id)cloudKitChatID; - (id)cloudKitDebugDescription; - (id)compressedProtobufDataForChatProto1; - (BOOL)containsActiveBIASession; - (id)copyCKRecordRepresentationWithZoneID:(id)a0 salt:(id)a1 error:(id *)a2; - (id)copyDictionaryRepresentation:(BOOL)a0; - (id)dictionaryRepresentationIncludingLastMessage; - (long long)engroupCreationDate; - (id)generateNewGroupID; - (int)getNumberOfTimesRespondedToThread; - (id)groupPhotoGuid; - (id)groupPhotoUploadFailureCount; - (id)initWithAccountID:(id)a0 service:(id)a1 guid:(id)a2 groupID:(id)a3 chatIdentifier:(id)a4 participants:(id)a5 roomName:(id)a6 displayName:(id)a7 lastAddressedLocalHandle:(id)a8 lastAddressedSIMID:(id)a9 properties:(id)a10 state:(long long)a11 style:(unsigned char)a12 isFiltered:(long long)a13 hasHadSuccessfulQuery:(BOOL)a14 engramID:(id)a15 serverChangeToken:(id)a16 cloudKitSyncState:(long long)a17 originalGroupID:(id)a18 lastReadMessageTimeStamp:(long long)a19 lastMessageTimeStampOnLoad:(long long)a20 cloudKitRecordID:(id)a21 isBlackholed:(BOOL)a22 autoDonationBehavior:(long long)a23 autoDonationBehaviorLastModificationDate:(id)a24 isRecovered:(BOOL)a25 isDeletingIncomingMessages:(BOOL)a26; - (BOOL)isSMSSpam; - (BOOL)isiMessageSpam; - (BOOL)lastKnownHybridState; - (void)meCardHasUpdated; - (int)messageHandshakeState; - (unsigned long long)powerLogConversationType; - (BOOL)receivedBlackholeError; - (void)recoverParticipantsIfNeeded; - (void)resetCKSyncState; - (void)resetParticipants:(id)a0; - (BOOL)setAutoDonationBehavior:(long long)a0 lastModificationDate:(id)a1; - (void)setLastSentMessageDate:(id)a0; - (int)smsHandshakeState; - (void)storeAndBroadcastChatChanges; - (void)tearDownToneNotificationSessionIfNeeded; - (void)updateCloudKitRecordID:(id)a0; - (void)updateCloudKitSyncState:(long long)a0; - (void)updateCollaborationMetadata:(id)a0 forMessageGUID:(id)a1; - (void)updateDisplayName:(id)a0; - (void)updateDisplayName:(id)a0 sender:(id)a1; - (BOOL)updateDonationStateWithSyndicationAction:(id)a0; - (void)updateEmergencyTranscriptSharingStateChatProperty:(int)a0; - (void)updateEngroupCreationDate:(long long)a0; - (void)updateGroupID:(id)a0; - (void)updateGroupPhotoGuid:(id)a0; - (void)updateGroupPhotoUploadFailureCount:(id)a0; - (void)updateHasHadSuccessfulQuery:(BOOL)a0; - (void)updateIsDeletingIncomingMessages:(BOOL)a0; - (void)updateIsRecovered:(BOOL)a0; - (void)updateIsiMessageSpam:(BOOL)a0; - (void)updateLastAddressedHandle:(id)a0; - (void)updateLastAddressedHandle:(id)a0 forceUpdate:(BOOL)a1; - (void)updateLastAddressedSIMID:(id)a0; - (void)updateLastKnownHybridStateAndRemergeIfAppropriate:(BOOL)a0; - (void)updateLastReadMessageTimeStampIfNeeded:(long long)a0; - (void)updateLastSeenMessageGuidIfNeeded:(id)a0; - (void)updateMessageHandshakeState:(int)a0; - (void)updateNumberOfTimesRespondedToThread; - (void)updateOriginalGroupID:(id)a0; - (void)updateReceivedBlackholeError:(BOOL)a0; - (void)updateSMSHandshakeState:(int)a0; - (void)updateSMSSpamExtensionNameChatProperty:(id)a0; @end