// // Generated by class-dump 3.5 (64 bit). // // class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard. // #import "IMSharedUtilities_ClassDump.h" NSAttributedString *IMCreateSuperFormatStringWithAppendedFileTransfers(NSAttributedString *inString, NSArray *fileTransferGUIDs) NS_RETURNS_RETAINED; NSAttributedString *IMCreateSuperFormatStringByAttachingMessageParts(NSAttributedString *inString) NS_RETURNS_RETAINED; typedef NS_ENUM(uint64_t, IMMessageFlags) { kIMMessageFinished = 0x1, kIMMessageIsEmote = 0x2, kIMMessageIsFromMe = 0x4, kIMMessageIsEmpty = 0x8, kIMMessageIsDelayed = 0x20, kIMMessageIsAutoReply = 0x40, kIMMessageIsAlert = 0x200, kIMMessageIsAddressedToMe = 0x800, kIMMessageIsDelivered = 0x1000, kIMMessageIsRead = 0x2000, kIMMessageIsSystemMessage = 0x4000, kIMMessageIsSent = 0x8000, kIMMessageHasDDResults = 0x10000, kIMMessageIsServiceMessage = 0x20000, kIMMessageIsForward = 0x40000, kIMMessageWasDowngraded = 0x80000, kIMMessageWasDataDetected = 0x100000, kIMMessageIsAudioMessage = 0x200000, kIMMessageIsPlayed = 0x400000, kIMMessageIsLocatingMessage = 0x800000, kIMMessageIsExpirable = 0x1000000, kIMMessageIsFromExtSource = 0x2000000, kIMMessageLegacyBits = 0xee000000, }; typedef uint32_t FZListenerCapabilities; extern const FZListenerCapabilities kFZListenerCapManageStatus; extern const FZListenerCapabilities kFZListenerCapNotifications; extern const FZListenerCapabilities kFZListenerCapChats; extern const FZListenerCapabilities kFZListenerCapAppleVC; extern const FZListenerCapabilities kFZListenerCapAVChatInfo; extern const FZListenerCapabilities kFZListenerCapAuxInput; extern const FZListenerCapabilities kFZListenerCapVCInvitations; extern const FZListenerCapabilities kFZListenerCapAppleLegacyVC; extern const FZListenerCapabilities kFZListenerCapFileTransfers; extern const FZListenerCapabilities kFZListenerCapAccounts; extern const FZListenerCapabilities kFZListenerCapBuddyList; extern const FZListenerCapabilities kFZListenerCapSendMessages; extern const FZListenerCapabilities kFZListenerCapMessageHistory; extern const FZListenerCapabilities kFZListenerCapIDQueries; extern const FZListenerCapabilities kFZListenerCapChatCountsObserver; extern const FZListenerCapabilities kFZListenerCapSentMessageObserver; extern const FZListenerCapabilities kFZListenerCapDatabaseUpdateObserver; extern const FZListenerCapabilities kFZListenerCapModifyReadState; extern const FZListenerCapabilities kFZListenerCapAppleAC; extern const FZListenerCapabilities kFZListenerCapAVObserver; extern const FZListenerCapabilities kFZListenerCapOnDemandChatRegistry; extern const FZListenerCapabilities kFZListenerCapTruncatedChatRegistry; extern const FZListenerCapabilities kFZListenerCapOneTimeCode; extern const FZListenerCapabilities kFZListenerCapSkipLastMessageLoad; extern const FZListenerCapabilities kFZListenerCapEvenMoreTruncatedChatRegistry; extern const FZListenerCapabilities kFZListenerCapBlackholedChatRegistry; extern NSString *const IMChatMessageReceivedNotification; // IMChatValueKey = IMMessage extern NSString *const IMChatMessageSendFailedNotification; // IMChatValueKey = IMMessage extern NSString *const IMChatRegistryDidLoadNotification; extern NSString *const IMChatItemsDidChangeNotification; extern NSString *const IMChatRegistryUnreadCountChangedNotification; extern NSString *const IMChatValueKey; extern NSString *const IMChatOldValueKey; extern NSString *const IMChatIndexKey; extern NSString *const IMChatQueryIDKey; extern NSString *const IMChatErrorKey; #pragma mark Blocks typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown #pragma mark Named Structures struct IMAssociatedMessageGeometryDescriptor { unsigned long long layoutIntent; unsigned long long associatedLayoutIntent; float parentPreviewWidth; float xScalar; float yScalar; float scale; float rotation; }; struct _FZChatRoomValidity { int _field1; unsigned short _field2; }; #pragma mark - // // File: Versions/A/IMCore // UUID: CF1C1FD6-2BE4-320F-BDFD-C9547A2D9010 // // Arch: x86_64 // Current version: 800.0.0 // Compatibility version: 1.0.0 // Source version: 1981.1.15.0.0 // // Objective-C Garbage Collection: Unsupported // @interface IMDirectlyObservableObject : NSObject { NSArray *_observers; } @property(retain) NSArray *observers; // @synthesize observers=_observers; - (void)informObserversOfNotification:(id)arg1; - (void)removeObserver:(id)arg1; - (void)addObserver:(id)arg1; - (void)_objectDidPostNotification:(id)arg1; - (void)dealloc; @end __attribute__((visibility("default"))) @interface IMService : NSObject { } + (NSURL *)imageURLForStatus:(NSNumber *)status; + (NSArray *)allServices; + (IMService *)serviceWithName:(NSString *)name; + (NSNotificationCenter *)notificationCenter; + (NSNumber *)myStatus; + (NSDate*)myIdleTime; - (NSString *)localizedName; - (NSString *)localizedShortName; - (NSString*)name; - (NSNumber *)status; - (NSDictionary *)infoForScreenName: (NSString*)screenName; - (NSArray *)infoForAllScreenNames; - (NSArray *)infoForPreferredScreenNames; - (NSArray *)peopleWithScreenName:(NSString *)screenName; // - (NSArray *)screenNamesForPerson:(ABPerson *)person; @end @interface IMService (IMService_GetService) + (id)smsService; + (id)iMessageService; + (id)facetimeService; + (id)callService; + (id)jabberService; + (id)subnetService; + (id)aimService; @end @class IMAccount; @interface IMServiceImpl : IMService { NSString *_name; NSString *_localizedName; NSString *_localizedShortName; NSMutableDictionary *_cardMap; NSDictionary *_personToIDMap; NSString *_countryCode; IMAccount *_bestAccount; NSDictionary *_serviceDefaults; NSDictionary *_serviceProps; NSDictionary *_defaultSettings; NSData *_imageData; NSArray *_abProperties; NSArray *_emailDomains; NSArray *_siblingServiceNames; unsigned int _screenNameSensitivity; BOOL _hasLoadedServiceProperties; BOOL _handlesChatInvites; BOOL _supportsSMS; BOOL _supportsPhoneNumberMapping; BOOL _supportsGroupAttachments; BOOL _supportsMutatingGroupMembers; BOOL _supportsOneSessionForAllAccounts; BOOL _supportsAuthorization; BOOL _supportsRegistration; BOOL _supportsAdding; BOOL _supportsPresence; BOOL _supportsIDStatusLookup; BOOL _supportsDatabaseStorage; BOOL _supportsAudioMessages; BOOL _shouldInternationalizeNumbers; BOOL _supportsOfflineTransfers; BOOL _shouldDisableDeactivation; BOOL _ignoresNetworkConnectivity; BOOL _isPersistent; BOOL _isPlugInService; BOOL _allowsMultipleConnections; } + (BOOL)systemSupportsSendingAttachmentsOfTypes:(id)arg1 error:(long long *)arg2; + (BOOL)systemSupportsSMSSending; + (id)supportedCountryCodes; + (BOOL)iMessageEnabled; + (BOOL)mmsEnabled; + (BOOL)smsEnabled; + (BOOL)iMessageEnabledForSenderLastAddressedHandle:(id)arg1 simID:(id)arg2 previousService:(id)arg3; + (BOOL)iMessageEnabledForSenderLastAddressedHandle:(id)arg1 simID:(id)arg2; + (BOOL)hasAlias:(id)arg1 onAccountForService:(id)arg2; + (BOOL)mmsEnabledforPhoneNumber:(id)arg1 simID:(id)arg2; + (id)operationalServicesWithCapability:(unsigned long long)arg1; + (id)connectedServicesWithCapability:(unsigned long long)arg1; + (id)servicesWithCapability:(unsigned long long)arg1; + (id)connectedServices; + (id)activeServices; + (id)serviceWithInternalName:(id)arg1; + (id)serviceWithName:(id)arg1; + (id)allServicesNonBlocking; + (id)allServices; + (void)setServiceClass:(Class)arg1; + (Class)serviceClass; @property(readonly, nonatomic) NSString *shortName; // @synthesize shortName=_localizedShortName; @property(readonly, nonatomic) NSString *name; // @synthesize name=_name; @property(readonly, nonatomic) NSArray *emailDomains; // @synthesize emailDomains=_emailDomains; @property(readonly, nonatomic) NSArray *addressBookProperties; // @synthesize addressBookProperties=_abProperties; @property(readonly, nonatomic) unsigned int IDSensitivity; // @synthesize IDSensitivity=_screenNameSensitivity; @property(readonly, nonatomic) BOOL shouldDisableDeactivation; // @synthesize shouldDisableDeactivation=_shouldDisableDeactivation; @property(readonly, nonatomic) BOOL allowsMultipleConnections; // @synthesize allowsMultipleConnections=_allowsMultipleConnections; @property(readonly, nonatomic) BOOL isPlugInService; // @synthesize isPlugInService=_isPlugInService; @property(readonly, nonatomic) BOOL supportsAdding; // @synthesize supportsAdding=_supportsAdding; @property(readonly, nonatomic) BOOL supportsGroupAttachments; // @synthesize supportsGroupAttachments=_supportsGroupAttachments; @property(readonly, nonatomic) BOOL supportsOneSessionForAllAccounts; // @synthesize supportsOneSessionForAllAccounts=_supportsOneSessionForAllAccounts; @property(readonly, nonatomic) BOOL supportsMutatingGroupMembers; // @synthesize supportsMutatingGroupMembers=_supportsMutatingGroupMembers; @property(readonly, nonatomic) BOOL supportsPresence; // @synthesize supportsPresence=_supportsPresence; @property(readonly, nonatomic) BOOL supportsOfflineTransfers; // @synthesize supportsOfflineTransfers=_supportsOfflineTransfers; @property(readonly, nonatomic) BOOL ignoresNetworkConnectivity; // @synthesize ignoresNetworkConnectivity=_ignoresNetworkConnectivity; @property(readonly, nonatomic) BOOL supportsRegistration; // @synthesize supportsRegistration=_supportsRegistration; @property(readonly, nonatomic) BOOL handlesChatInvites; // @synthesize handlesChatInvites=_handlesChatInvites; @property(readonly, nonatomic) BOOL isPersistent; // @synthesize isPersistent=_isPersistent; @property(readonly, nonatomic) BOOL supportsAuthorization; // @synthesize supportsAuthorization=_supportsAuthorization; @property(readonly, nonatomic) BOOL supportsPhoneNumberMapping; // @synthesize supportsPhoneNumberMapping=_supportsPhoneNumberMapping; @property(readonly, nonatomic) BOOL supportsAudioMessages; // @synthesize supportsAudioMessages=_supportsAudioMessages; @property(readonly, nonatomic) BOOL supportsIDStatusLookup; // @synthesize supportsIDStatusLookup=_supportsIDStatusLookup; @property(retain, nonatomic) NSDictionary *defaultAccountSettings; // @synthesize defaultAccountSettings=_defaultSettings; @property(retain, nonatomic) NSDictionary *serviceDefaults; // @synthesize serviceDefaults=_serviceDefaults; @property(readonly, nonatomic) Class accountClass; - (void)activeAccountsChanged:(id)arg1; - (void)defaultsChanged:(id)arg1; - (id)screenNamesForPerson:(id)arg1; - (id)screenNamesForIMPerson:(id)arg1; - (id)_personToIDMap; - (id)peopleWithScreenName:(id)arg1; - (id)imABPeopleWithScreenName:(id)arg1 options:(unsigned long long)arg2; - (id)imABPeopleWithScreenName:(id)arg1; - (id)imABPeopleWithScreenName:(id)arg1 identifier:(int *)arg2; - (id)imABPeopleWithScreenName:(id)arg1 countryCode:(id)arg2 identifier:(int *)arg3; @property(readonly, nonatomic) NSDictionary *cardMap; - (void)clearIDToCardMap; @property(retain, nonatomic) NSString *countryCode; - (void)updateIDToCardMapWithNotification:(id)arg1; - (id)_newIDToCardMap; - (void)_dumpCardMap; - (void)_addAddressBookCards:(id)arg1 toMap:(id)arg2; - (id)_IDsToMapForIMPerson:(id)arg1; - (id)description; @property(readonly, nonatomic) NSArray *accountIDs; @property(readonly, nonatomic) long long buddyNotesMaxByteLength; @property(readonly, nonatomic) NSString *internalName; @property(readonly, nonatomic) NSArray *siblingServices; @property(readonly, nonatomic) NSString *addressBookProperty; - (id)localizedShortName; - (id)localizedName; @property(readonly, nonatomic) BOOL _wantsInternationizedNumbers; @property(readonly, nonatomic) BOOL _supportsDatabaseStorage; - (BOOL)isEnabled; @property(readonly, nonatomic) long long maxAttachmentSize; - (long long)maxChatParticipantsForHandle:(id)arg1 simID:(id)arg2; @property(readonly, nonatomic) NSData *serviceImageData; - (id)subtypeInformationForAccount:(id)arg1; @property(retain, nonatomic) NSDictionary *serviceProperties; - (void)_loadPropertiesIfNeeded; - (id)_abPropertiesBySanitizingABProperties:(id)arg1; - (id)myScreenNames; - (id)infoForPreferredScreenNames; - (id)infoForAllScreenNames; - (id)infoForScreenName:(id)arg1; - (unsigned long long)status; - (void)_blockUntilInitialSyncPerformed; - (long long)compareNames:(id)arg1; - (id)canonicalFormOfID:(id)arg1; - (id)normalizedFormOfID:(id)arg1; - (BOOL)equalID:(id)arg1 andID:(id)arg2; - (void)statusChangedForAccount:(id)arg1 from:(unsigned long long)arg2 to:(unsigned long long)arg3; - (void)disconnect; - (void)doneSetup; - (BOOL)initialSyncPerformed; - (void)_calculateBestAccount; - (void)_syncWithRemoteBuddies; - (void)dealloc; - (id)initWithName:(id)arg1; @property(readonly, nonatomic, getter=isDiscontinued) BOOL discontinued; @property(readonly, getter=isLegacyService) BOOL legacyService; // @dynamic legacyService; @end @class IMPeople, IMHandle; @interface IMAccount : NSObject { IMServiceImpl *_service; IMPeople *_buddyList; NSRecursiveLock *_lock; NSMapTable *_imHandles; IMHandle *_loginIMHandle; NSArray *_cachedAllowList; NSArray *_cachedBlockList; NSString *_loginID; NSString *_displayName; NSString *_uniqueID; long long _accountType; NSString *_strippedLogin; NSDictionary *_data; NSMutableDictionary *_dataChanges; NSMutableDictionary *_localCache; NSDictionary *_profile; NSMutableDictionary *_profileChanges; NSString *_countryCode; long long _profileStatus; NSDictionary *_accountPreferences; NSMutableDictionary *_accountPreferencesChanges; NSDictionary *_accountPersistentProperties; NSMutableDictionary *_accountPersistentPropertiesChanges; NSArray *_groups; NSMutableDictionary *_sortOrders; NSDictionary *_members; NSMutableDictionary *_coalescedChanges; NSArray *_targetGroupState; NSArray *_lastReceivedGroupState; NSDictionary *_subtypeInfo; NSArray *_vettedAliases; NSArray *_aliases; unsigned long long _myStatus; NSMutableDictionary *_currentAccountStatus; NSString *_myStatusMessage; NSDictionary *_myNowPlaying; NSDate *_myIdleSince; NSData *_myPictureData; NSData *_accountImageData; unsigned long long _capabilities; unsigned long long _defaultHandleCapabilities; BOOL _hasCheckedDefaultHandleCapabilities; NSAttributedString *_myProfile; long long _registrationStatus; long long _registrationFailureReason; NSDictionary *_registrationAlertInfo; unsigned long long _loginStatus; BOOL _isActive; BOOL _hasPostedOfflineNotification; BOOL _justLoggedIn; BOOL _useMeCardName; unsigned int _cachedBlockingMode; BOOL _blockIdleStatus; BOOL _syncedWithRemoteBuddyList; BOOL _hasReceivedSync; int _numHolding; int _coalesceCount; BOOL _needToCheckForWatchedIMHandles; BOOL _iconChecked; BOOL _hasBeenRemoved; id _smallImage; id _accountImage; BOOL _asleep; } + (id)allBuddyListIMHandles; + (id)arrayOfAllIMHandles; + (id)nameOfLoginStatus:(unsigned long long)arg1; + (id)_groupSummaryFromGroupList:(id)arg1; + (void)removeTemporaryPasswordForAccount:(id)arg1 forServiceName:(id)arg2; + (void)setTemporaryPassword:(id)arg1 forAccount:(id)arg2 forAuthID:(id)arg3 forServiceName:(id)arg4; + (id)temporaryPasswordForAccount:(id)arg1 forAuthID:(id)arg2 forServiceName:(id)arg3; + (void)removePasswordForAccount:(id)arg1 forServiceName:(id)arg2; + (void)setPassword:(id)arg1 forAccount:(id)arg2 forAuthID:(id)arg3 forServiceName:(id)arg4; + (id)passwordForAccount:(id)arg1 forServiceName:(id)arg2; @property(readonly, nonatomic) BOOL justLoggedIn; // @synthesize justLoggedIn=_justLoggedIn; @property(readonly, nonatomic) IMPeople *buddyList; // @synthesize buddyList=_buddyList; @property(readonly, nonatomic) id loginIMHandle; // @synthesize loginIMHandle=_loginIMHandle; @property(readonly, nonatomic) NSDictionary *accountSubtypeInfo; // @synthesize accountSubtypeInfo=_subtypeInfo; @property(readonly, nonatomic) BOOL isActive; // @synthesize isActive=_isActive; @property(nonatomic) unsigned int blockingMode; // @synthesize blockingMode=_cachedBlockingMode; @property(nonatomic) BOOL blockIdleStatus; // @synthesize blockIdleStatus=_blockIdleStatus; @property(readonly, nonatomic) unsigned long long loginStatus; // @synthesize loginStatus=_loginStatus; @property(readonly, nonatomic) unsigned long long capabilities; // @synthesize capabilities=_capabilities; @property(readonly, nonatomic) NSDate *myIdleSince; // @synthesize myIdleSince=_myIdleSince; @property(readonly, nonatomic) NSData *myPictureData; // @synthesize myPictureData=_myPictureData; @property(readonly, nonatomic) NSString *myStatusMessage; // @synthesize myStatusMessage=_myStatusMessage; @property(readonly, nonatomic) unsigned long long myStatus; // @synthesize myStatus=_myStatus; @property(readonly, nonatomic) NSAttributedString *myProfile; // @synthesize myProfile=_myProfile; @property(readonly, nonatomic) NSDictionary *myStatusDictionary; // @synthesize myStatusDictionary=_currentAccountStatus; @property(readonly, nonatomic) __weak IMServiceImpl *service; // @synthesize service=_service; @property(readonly, nonatomic) NSString *strippedLogin; // @synthesize strippedLogin=_strippedLogin; @property(retain, nonatomic) NSString *login; // @synthesize login=_loginID; - (void)_handleIncomingCommand:(id)arg1 withProperties:(id)arg2 fromBuddyInfo:(id)arg3; - (void)_handleDeliveredCommand:(id)arg1 withProperties:(id)arg2 fromBuddyInfo:(id)arg3; - (BOOL)_updateDisplayName:(id)arg1; @property(copy, nonatomic) NSString *displayName; - (void)setInteger:(int)arg1 forPreferenceKey:(id)arg2; - (int)integerForPreferenceKey:(id)arg1; - (void)setBool:(BOOL)arg1 forPreferenceKey:(id)arg2; - (BOOL)boolForPreferenceKey:(id)arg1; - (void)setString:(id)arg1 forPreferenceKey:(id)arg2; - (id)stringForPreferenceKey:(id)arg1; - (id)dictionaryDataForPreferenceKey:(id)arg1; - (void)setDictionaryData:(id)arg1 forPreferenceKey:(id)arg2; - (void)removeObjectForPreferenceKey:(id)arg1; - (void)setObject:(id)arg1 forPreferenceKey:(id)arg2; - (id)objectForPreferenceKey:(id)arg1; @property(readonly, nonatomic) NSDictionary *accountPreferences; - (void)_removePersistentPropertyForKey:(id)arg1; - (void)_setPersistentPropertyObject:(id)arg1 forKey:(id)arg2; - (id)_persistentPropertyForKey:(id)arg1; @property(readonly, nonatomic) NSDictionary *_persistentProperties; @property(readonly, nonatomic) BOOL isAsleep; - (void)systemWillSleep; - (void)systemDidWake; - (void)_setInteger:(long long)arg1 forKey:(id)arg2; - (void)setInteger:(long long)arg1 forKey:(id)arg2; - (long long)integerForKey:(id)arg1; - (void)_setBool:(BOOL)arg1 forKey:(id)arg2; - (void)setBool:(BOOL)arg1 forKey:(id)arg2; - (BOOL)boolForKey:(id)arg1; - (void)_setString:(id)arg1 forKey:(id)arg2; - (void)setString:(id)arg1 forKey:(id)arg2; - (id)stringForKey:(id)arg1; - (id)dictionaryDataForKey:(id)arg1; - (void)_setDictionaryData:(id)arg1 forKey:(id)arg2; - (void)setDictionaryData:(id)arg1 forKey:(id)arg2; - (void)_removeObjectForKey:(id)arg1; - (void)removeObjectForKey:(id)arg1; - (void)setObject:(id)arg1 forKey:(id)arg2; - (void)_setLocalCachedObject:(id)arg1 forKey:(id)arg2; - (void)_setObject:(id)arg1 forKey:(id)arg2; - (id)objectForKey:(id)arg1; - (long long)validationErrorReasonForAlias:(id)arg1 type:(long long)arg2; - (long long)validationErrorReasonForAlias:(id)arg1; - (long long)validationStatusForAlias:(id)arg1 type:(long long)arg2; - (long long)validationStatusForAlias:(id)arg1; - (BOOL)validateAlias:(id)arg1 type:(long long)arg2; - (BOOL)validateAliases:(id)arg1; - (BOOL)validateAlias:(id)arg1; - (BOOL)unvalidateAliases:(id)arg1; - (BOOL)unvalidateAlias:(id)arg1; - (long long)typeForAlias:(id)arg1; - (BOOL)removeAlias:(id)arg1 type:(long long)arg2; - (BOOL)removeAliases:(id)arg1; - (BOOL)removeAlias:(id)arg1; - (BOOL)addAlias:(id)arg1 type:(long long)arg2; - (BOOL)addAliases:(id)arg1; - (BOOL)addAlias:(id)arg1; - (id)aliasesForType:(long long)arg1; - (BOOL)hasAlias:(id)arg1 type:(long long)arg2; - (BOOL)hasAlias:(id)arg1; - (void)_invalidateCachedAliases; @property(readonly, nonatomic) NSArray *aliases; @property(readonly, nonatomic, getter=isMakoAccount) BOOL makoAccount; - (id)_statuses; - (id)_aliasInfoForAlias:(id)arg1; - (BOOL)_aliasIsVisible:(id)arg1; - (id)_aliases; @property(readonly, nonatomic) NSArray *aliasesToRegister; @property(readonly, nonatomic) NSArray *vettedAliases; - (void)_updateProfileInfo:(id)arg1; - (long long)profileValidationErrorReason; - (long long)profileValidationStatus; - (BOOL)validateProfile; - (BOOL)setProfileString:(id)arg1 forKey:(id)arg2; - (BOOL)setProfileValue:(id)arg1 forKey:(id)arg2; - (BOOL)removeProfileValueForKey:(id)arg1; - (id)profileStringForKey:(id)arg1; - (id)profileValueForKey:(id)arg1; @property(readonly, nonatomic) NSDictionary *profileInfo; @property(readonly, nonatomic) NSString *countryCode; - (BOOL)updateAuthorizationCredentials:(id)arg1 token:(id)arg2; - (void)enrollSelfDeviceInSMSRelay; - (void)unEnrollDeviceInSMSRelay:(id)arg1; - (void)enrollDeviceInSMSRelay:(id)arg1; - (BOOL)authenticateAccount; - (BOOL)requestNewAuthorizationCredentials; @property(readonly, nonatomic) NSString *authorizationToken; @property(readonly, nonatomic) NSString *authorizationID; @property(readonly, nonatomic) BOOL supportsAuthorization; - (struct _FZChatRoomValidity)validityOfChatRoomName:(id)arg1; - (id)defaultChatSuffix; - (id)chatIDForRoomName:(id)arg1; - (void)nowLoggedOut; - (void)nowLoggedIn; - (void)handleSubscriptionRequestFrom:(id)arg1 withMessage:(id)arg2; - (void)imHandle:(id)arg1 buddyStatusChanged:(BOOL)arg2; - (void)disconnectAllIMHandles; - (void)unregisterIMHandleWithID:(id)arg1; - (void)registerIMHandle:(id)arg1; - (void)_refreshLoginIMHandle; - (void)forgetAllWatches; - (void)stopWatchingIMHandle:(id)arg1; - (void)startWatchingIMHandle:(id)arg1; - (void)watchBuddiesIfNecessary; - (void)_watchBuddiesIfNecessary; - (BOOL)removeIMHandle:(id)arg1 fromIMPerson:(id)arg2; - (BOOL)addIMHandle:(id)arg1 toIMPerson:(id)arg2; - (id)imHandlesForIMPerson:(id)arg1; - (void)requestBuddyListAuthorizationFromIMHandle:(id)arg1; - (void)setBuddyListAuthorization:(BOOL)arg1 forIMHandle:(id)arg2; - (unsigned long long)sortOrderForIMHandle:(id)arg1 inGroup:(id)arg2; - (id)personSibsForIMHandle:(id)arg1; - (id)personForIMHandle:(id)arg1 identifier:(int *)arg2; - (id)personForIMHandle:(id)arg1; - (id)imHandleWithID:(id)arg1; - (id)existingIMHandleWithID:(id)arg1 countryCode:(id)arg2; - (id)imHandleWithID:(id)arg1 countryCode:(id)arg2; - (id)_imHandleWithID:(id)arg1 alreadyCanonical:(BOOL)arg2 originalID:(id)arg3 countryCode:(id)arg4; - (id)imHandleWithID:(id)arg1 alreadyCanonical:(BOOL)arg2; - (unsigned long long)defaultHandleCapabilities; - (id)existingIMHandleWithID:(id)arg1; - (id)existingIMHandleWithID:(id)arg1 alreadyCanonical:(BOOL)arg2; - (id)existingIMHandleWithInfo:(id)arg1 alreadyCanonical:(BOOL)arg2; - (id)imHandleWithInfo:(id)arg1 alreadyCanonical:(BOOL)arg2; - (id)existingIMHandleWithInfo:(id)arg1; - (id)imHandleWithInfo:(id)arg1; - (Class)imHandleClass; @property(readonly, nonatomic) NSArray *arrayOfAllIMHandles; - (void)recalculateSubtypeInfo; - (void)_clearImageCache; - (id)recalculatedSubtypeInfo; - (long long)compareNames:(id)arg1; - (void)groupsChanged:(id)arg1 error:(id)arg2; - (void)_syncWithRemoteBuddies; - (void)setIMAccountLoginStatus:(unsigned long long)arg1 errorMessage:(id)arg2 reason:(int)arg3; - (void)setIMAccountLoginStatus:(unsigned long long)arg1 errorMessage:(id)arg2; - (void)setIMAccountLoginStatus:(unsigned long long)arg1; - (void)setIsActive:(BOOL)arg1; @property(readonly, nonatomic) BOOL isConnected; @property(readonly, nonatomic) BOOL isConnecting; @property(readonly, nonatomic) NSString *loginStatusMessage; - (void)_notJustLoggedIn; - (BOOL)unregisterAccount; - (BOOL)registerAccount; @property(readonly, nonatomic) long long registrationFailureReason; @property(readonly, nonatomic) long long registrationStatus; - (void)_updateRegistrationStatus:(int)arg1 error:(int)arg2 info:(id)arg3; @property(readonly, nonatomic) BOOL supportsRegistration; @property(readonly, nonatomic) NSDictionary *registrationFailureAlertInfo; @property(readonly, nonatomic) BOOL canSendMessages; @property(readonly, nonatomic) BOOL isOperational; @property(readonly, nonatomic) BOOL isRegistered; @property(readonly, nonatomic) BOOL _isUsableForSending; - (void)accountDidDeactivate; - (void)accountDidBecomeActive; - (void)accountWillBeRemoved; - (void)_serviceDidDisconnect:(id)arg1; - (void)_serviceDidReconnect:(id)arg1; - (void)_serviceDidConnect:(id)arg1; - (void)_registrationStatusChanged:(id)arg1; - (void)setBuddyProperties:(id)arg1 buddyPictures:(id)arg2; - (void)buddyPictureChanged:(id)arg1 imageData:(id)arg2 imageHash:(id)arg3; - (void)buddyPropertiesChanged:(id)arg1; - (void)resumeBuddyUpdates; - (void)_resumeBuddyUpdatesNow; - (void)holdBuddyUpdates; @property(readonly, nonatomic) BOOL makingChanges; - (void)endChanges; - (id)memberGroups:(id)arg1; @property(readonly, nonatomic) NSArray *groupList; - (id)groupMembers:(id)arg1; - (id)propertiesForGroup:(id)arg1; - (void)reorderGroups:(id)arg1; - (void)reorderGroup:(id)arg1 order:(id)arg2; - (void)renameGroup:(id)arg1 to:(id)arg2; - (void)changeBuddyList:(id)arg1 add:(BOOL)arg2 groups:(id)arg3 atLocation:(long long)arg4; - (void)addBuddyToBuddyList:(id)arg1; - (BOOL)removeIMHandle:(id)arg1 fromGroups:(id)arg2; - (BOOL)addIMHandle:(id)arg1 toGroups:(id)arg2 atLocation:(long long)arg3; - (BOOL)removePeople:(id)arg1 fromGroups:(id)arg2; - (BOOL)addPeople:(id)arg1 toGroups:(id)arg2 atLocation:(long long)arg3; - (void)_ensureGroupsExists:(id)arg1; - (void)syncWithRemoteBuddies; - (void)_markHasSyncedWithRemoteBuddies; @property(readonly, nonatomic) BOOL hasSyncedWithRemoteBuddies; - (void)requestGroups; - (void)hookupToDaemon; - (void)beginChanges; - (void)_applyChangesToTemporaryCache:(id)arg1; - (void)setTargetGroupsState:(id)arg1; - (void)updateWithTargetGroups; - (void)setWaitForTargetState; - (void)targetGroupStateTimeout; @property(readonly, nonatomic) BOOL hasTargetGroupStateBeenMet; @property(readonly, nonatomic) BOOL isAwaitingTargetGroupState; - (void)clearTargetState; @property(nonatomic) BOOL blockOtherAddresses; @property(retain, nonatomic) NSArray *allowList; @property(retain, nonatomic) NSArray *blockList; - (void)blockMessages:(BOOL)arg1 fromID:(id)arg2; - (void)setCachedBlockIdleStatus:(BOOL)arg1; - (void)setCachedBlockingMode:(unsigned int)arg1; - (void)setCachedBlockList:(id)arg1; - (void)setCachedAllowList:(id)arg1; @property(readonly, nonatomic) NSArray *emailDomains; @property(readonly, nonatomic) NSString *addressBookProperty; @property(readonly, nonatomic) NSArray *addressBookProperties; @property(readonly, nonatomic) NSDictionary *dictionary; - (void)loadFromDictionary:(id)arg1; - (void)_loadFromDictionary:(id)arg1 force:(BOOL)arg2; - (void)setValue:(id)arg1 ofExtraProperty:(id)arg2 ofIMHandle:(id)arg3; - (void)requestProperty:(id)arg1 ofIMHandle:(id)arg2; @property(readonly, nonatomic) long long invalidSettings; @property(readonly, nonatomic) BOOL isManaged; @property(readonly, nonatomic) BOOL validServer; @property(readonly, nonatomic) BOOL validPort; @property(readonly, nonatomic) BOOL validLogin; @property(readonly, nonatomic) BOOL canActivate; @property(readonly, nonatomic) BOOL isSMSRelayCapable; @property(readonly, nonatomic) BOOL allowsMMSRelay; @property(readonly, nonatomic) BOOL allowsSMSRelay; @property(nonatomic) BOOL allowsVCRelay; @property(nonatomic) BOOL goIdle; @property(readonly, nonatomic) long long port; @property(readonly, nonatomic) NSString *server; - (id)_serverWithSSL:(BOOL)arg1; - (id)description; @property(readonly, nonatomic) BOOL useSSL; @property(nonatomic) BOOL autoLogin; @property(readonly, nonatomic) BOOL hasCustomDescription; @property(retain, nonatomic) NSString *accountDescription; @property(nonatomic, getter=isInvisible) BOOL invisible; - (void)removeTemporaryPassword; - (void)setTemporaryPassword:(id)arg1; @property(readonly, nonatomic) NSString *temporaryPassword; - (void)removePassword; - (void)setPassword:(id)arg1; @property(readonly, nonatomic) NSString *password; @property(readonly, nonatomic) BOOL handlesChatInvites; - (void)updateCapabilities:(unsigned long long)arg1; - (BOOL)hasCapability:(unsigned long long)arg1; - (long long)compareServices:(id)arg1; - (long long)compareIDs:(id)arg1; - (long long)compareStatus:(id)arg1; - (long long)compareAccountNames:(id)arg1; - (long long)compareLoginStatus:(id)arg1; - (BOOL)emailAddressIsID:(id)arg1; - (void)resetToDefaults; - (void)writeSettings; - (BOOL)equalID:(id)arg1 andID:(id)arg2; - (id)canonicalFormOfID:(id)arg1 countryCode:(id)arg2; - (id)canonicalFormOfID:(id)arg1; @property(readonly, nonatomic) NSData *accountImageData; @property(readonly, nonatomic) NSString *serviceName; @property(readonly, nonatomic) NSString *name; @property(readonly, nonatomic) NSString *internalName; @property(readonly, nonatomic) NSString *shortName; - (void)setUniqueID:(id)arg1; @property(readonly, nonatomic) NSString *uniqueID; @property(readonly, nonatomic) NSString *myNowPlayingString; - (void)setCurrentAccountStatus:(id)arg1; - (void)_updateMyStatus:(unsigned long long)arg1 message:(id)arg2; @property(readonly, nonatomic) long long accountType; - (void)_updateLogin:(id)arg1; - (void)loginStatusChanged:(unsigned int)arg1 message:(id)arg2 reason:(int)arg3 properties:(id)arg4; - (void)logoutAccount; - (void)loginAccount; - (void)autoLoginAccount; - (void)_loginWithAutoLogin:(BOOL)arg1; - (id)initWithUniqueID:(id)arg1 service:(id)arg2; - (id)initWithService:(id)arg1; - (void)clearServiceCaches; - (void)dealloc; @end @class IMPerson; @interface IMHandle : IMDirectlyObservableObject { IMAccount *_account; NSString *_id; NSString *_uncanonicalID; NSString *_countryCode; NSDictionary *_otherServiceIDs; NSDate *_idleSince; NSDate *_feedUpdatedDate; NSDictionary *_extraProps; NSDictionary *_certs; NSSet *_groups; IMPerson *_person; NSString *_abFirstName; NSString *_abLastName; NSString *_abFullName; NSString *_abNickname; NSString *_displayID; NSString *_firstName; NSString *_lastName; NSString *_fullName; NSString *_nickname; NSArray *_emails; NSString *_normalizedFormOfID; NSString *_IDWithoutResource; NSString *_IDWithTrimmedServer; NSString *_uniqueName; NSData *_pictureData; NSString *_statusMsg; NSString *_processedStatusMsg; NSAttributedString *_richStatusMsg; NSDate *_whenWentOffline; NSDate *_whenStatusChanged; NSString *_prevStatusMsg; NSMutableArray *_notificationNameQueue; NSMutableArray *_notificationQueue; struct __CFPhoneNumber *_phoneNumberRef; NSString *_formattedNumber; BOOL _hasCheckedPhoneNumber; unsigned long long _status; unsigned long long _prevStatus; unsigned long long _capabilities; unsigned int _authRequestStatus; unsigned long long _resourceIndex; long long _IDStatus; BOOL _blockNotifications; BOOL _hasTemporaryWatch; BOOL _isMobile; BOOL _isBot; BOOL _isAnonymous; BOOL _beingTornDown; BOOL _hasCheckedCardMap; long long _priority; int _addressBookIdentifier; int _notificationQueueCount; NSNumber *_isBusiness; NSNumber *_isMako; NSNumber *_isApple; BOOL _hasCheckedForSuggestions; NSString *_personCentricID; NSString *_guid; NSData *_mapItemImageData; NSData *_mapItemBannerImageData; NSURL *_statusURL; id _cachedStatusMessageAsURL; NSString *_suggestedName; } + (id)filterIMHandlesForBestAccountSiblings:(id)arg1; + (id)filterIMHandlesForAccountSiblings:(id)arg1 onAccount:(id)arg2; + (id)bestIMHandleInArray:(id)arg1; + (id)imHandlesForIMPerson:(id)arg1; + (BOOL)supportsSecureCoding; + (id)nameOfStatus:(unsigned long long)arg1; + (void)_loadStatusNames; + (BOOL)notificationsEnabled; + (void)setNotificationsEnabled:(BOOL)arg1; + (void)handlesForPersons:(id)arg1 useBestHandle:(BOOL)arg2 useExtendedAsyncLookup:(BOOL)arg3 completion:(CDUnknownBlockType)arg4; + (void)validHandlesForPersons:(id)arg1 useExtendedAsyncLookup:(BOOL)arg2 completion:(CDUnknownBlockType)arg3; + (void)validHandlesForPersons:(id)arg1 completion:(CDUnknownBlockType)arg2; + (void)bestHandlesForPersons:(id)arg1 useExtendedAsyncLookup:(BOOL)arg2 completion:(CDUnknownBlockType)arg3; + (void)bestHandlesForPersons:(id)arg1 completion:(CDUnknownBlockType)arg2; @property(nonatomic) BOOL hasCheckedForSuggestions; // @synthesize hasCheckedForSuggestions=_hasCheckedForSuggestions; @property(copy, nonatomic) NSString *suggestedName; // @synthesize suggestedName=_suggestedName; @property(retain, nonatomic) id cachedStatusMessageAsURL; // @synthesize cachedStatusMessageAsURL=_cachedStatusMessageAsURL; @property(retain, nonatomic) NSURL *statusURL; // @synthesize statusURL=_statusURL; @property(nonatomic) long long IDStatus; // @synthesize IDStatus=_IDStatus; // @property(retain, nonatomic) CNContact *cnContact; // @synthesize cnContact=_cnContact; @property(retain, nonatomic) NSData *mapItemBannerImageData; // @synthesize mapItemBannerImageData=_mapItemBannerImageData; @property(retain, nonatomic) NSData *mapItemImageData; // @synthesize mapItemImageData=_mapItemImageData; // @property(retain, nonatomic) MKMapItem *mapItem; // @synthesize mapItem=_mapItem; @property(readonly, retain, nonatomic) NSString *guid; // @synthesize guid=_guid; @property(readonly, nonatomic) int addressBookIdentifier; // @synthesize addressBookIdentifier=_addressBookIdentifier; @property(retain, nonatomic) NSDictionary *otherServiceIDs; // @synthesize otherServiceIDs=_otherServiceIDs; @property(readonly, retain, nonatomic) NSData *pictureData; // @synthesize pictureData=_pictureData; @property(readonly, nonatomic) BOOL isMobile; // @synthesize isMobile=_isMobile; @property(readonly, nonatomic) BOOL isBot; // @synthesize isBot=_isBot; @property(nonatomic) long long priority; // @synthesize priority=_priority; @property(readonly, retain, nonatomic) NSDate *feedUpdatedDate; // @synthesize feedUpdatedDate=_feedUpdatedDate; @property(readonly, nonatomic) unsigned int authRequestStatus; // @synthesize authRequestStatus=_authRequestStatus; @property(readonly, retain, nonatomic) IMAccount *account; // @synthesize account=_account; @property(readonly, retain, nonatomic) NSString *uniqueName; // @synthesize uniqueName=_uniqueName; @property(retain, nonatomic) NSString *personCentricID; // @synthesize personCentricID=_personCentricID; @property(readonly, retain, nonatomic) NSString *ID; // @synthesize ID=_id; @property(readonly, retain, nonatomic) NSAttributedString *richStatusMessage; // @synthesize richStatusMessage=_richStatusMsg; @property(readonly, retain, nonatomic) NSString *previousStatusMessage; // @synthesize previousStatusMessage=_prevStatusMsg; @property(readonly, nonatomic) unsigned long long previousStatus; // @synthesize previousStatus=_prevStatus; @property(readonly, retain, nonatomic) NSDictionary *extraProperties; // @synthesize extraProperties=_extraProps; @property(readonly, retain, nonatomic) NSString *originalID; // @synthesize originalID=_uncanonicalID; - (void)_mapItemBannerImageDataFetchedWithResponse:(id)arg1 statusCode:(long long)arg2 resultData:(id)arg3 remoteURLConnectionError:(id)arg4; - (void)_fetchMapItemBannerImageDataForMapItem:(id)arg1; - (void)_mapItemImageDataFetchedWithResponse:(id)arg1 statusCode:(long long)arg2 resultData:(id)arg3 remoteURLConnectionError:(id)arg4; - (void)_fetchMapItemImageDataForMapItem:(id)arg1; - (void)_postOnScreenChangedNotificationForProperty:(id)arg1; - (void)_mapItemFetchedWithMapItems:(id)arg1 error:(id)arg2; - (void)_fetchBusinessInfo; - (void)sendNotificationABPersonChanged; - (id)description; - (void)setCustomPictureData:(id)arg1 key:(id)arg2; - (void)setCustomPictureData:(id)arg1; - (id)customPictureData; - (void)customPictureDataChanged:(id)arg1 key:(id)arg2; - (void)_imPersonPictureChanged:(id)arg1; - (void)_sendCommand:(id)arg1 properties:(id)arg2; - (void)_sendAutomationData:(id)arg1 properties:(id)arg2; @property(readonly, nonatomic) BOOL hasMultiwayAudio; @property(readonly, nonatomic) BOOL hasAudio; @property(readonly, nonatomic) BOOL hasMultiwayVideo; @property(readonly, nonatomic) BOOL hasVideo; @property(readonly, nonatomic) BOOL isConferenceAvailable; @property(readonly, nonatomic) BOOL hasConferencing; - (BOOL)hasCapability:(unsigned long long)arg1; - (BOOL)_setCapabilities:(unsigned long long)arg1; - (void)setCapabilities:(unsigned long long)arg1; @property(readonly, nonatomic) unsigned long long capabilities; - (id)_bestChatSibling; - (id)_chatSiblingsArray; - (id)_chatSiblings; - (BOOL)_isChatSiblingOf:(id)arg1; - (BOOL)isSiblingOf:(id)arg1; - (BOOL)isAccountSiblingOf:(id)arg1; @property(readonly, retain, nonatomic) NSSet *siblings; - (id)chatSiblingsArray; - (id)existingChatSiblingsArray; @property(readonly, retain, nonatomic) NSArray *accountSiblingsArray; @property(readonly, retain, nonatomic) NSArray *existingAccountSiblingsArray; @property(readonly, retain, nonatomic) NSArray *siblingsArray; @property(readonly, nonatomic) BOOL hasOtherSiblings; - (BOOL)matchesIMHandle:(id)arg1; - (long long)compareAccountNames:(id)arg1; - (long long)compareNormalizedIDs:(id)arg1; - (long long)compareIDs:(id)arg1; - (long long)compareStatus:(id)arg1; - (long long)compareLastNames:(id)arg1; - (long long)compareFirstNames:(id)arg1; - (id)_nameForComparisonPreferFirst:(BOOL)arg1; @property(readonly, nonatomic) double timeSinceStatusChanged; @property(readonly, nonatomic) double timeSinceWentOffline; - (void)setStatus:(unsigned long long)arg1 message:(id)arg2 richMessage:(id)arg3; - (void)_clearStatusMessageURLCache; @property(readonly, retain, nonatomic) NSString *statusMessage; - (void)_filterStatusMessage; @property(readonly, retain, nonatomic) NSString *idleString; @property(readonly, retain, nonatomic) NSString *offlineString; - (void)setFeedUpdatedDate:(id)arg1; - (void)setIdleSince:(id)arg1; - (void)_setIDStatus:(long long)arg1; @property(readonly, nonatomic) double idleTime; @property(readonly, retain, nonatomic) NSString *nameOfStatus; - (void)statusChanged:(unsigned long long)arg1; - (void)statusMessageChanged:(id)arg1; - (void)statusChanged:(unsigned long long)arg1 message:(id)arg2; - (void)setPersonStatus:(unsigned long long)arg1; @property(readonly, nonatomic) unsigned long long status; - (void)setAuthRequestStatus:(unsigned int)arg1; - (void)_updateStatusBasedOnAuthRequestStatus; - (void)_stopRetainingAccount:(id)arg1; - (id)dependentIMHandles; - (id)existingIMHandleWithoutResource; - (id)imHandleWithoutResource; @property(readonly, retain, nonatomic) NSString *IDWithoutResource; @property(readonly, retain, nonatomic) NSString *resource; @property(readonly, retain, nonatomic) NSString *accountTypeName; - (unsigned int)sortOrderInGroup:(id)arg1; @property(nonatomic, setter=setBlocked:) BOOL isBlocked; @property(readonly, nonatomic) BOOL isVisiblyBlocked; - (BOOL)_isMyIDInList:(id)arg1; - (void)propertiesChanged:(id)arg1; - (void)_setExtraProperties:(id)arg1; @property(readonly, nonatomic) id bestSibling; - (id)bestIMHandleForAccount:(id)arg1 onService:(id)arg2 inGroup:(id)arg3 otherThan:(id)arg4; @property(readonly, retain, nonatomic) id bestAccountSibling; - (id)bestIMHandleForAccount:(id)arg1; - (id)bestIMHandleForService:(id)arg1; - (BOOL)isBetterThanIMHandle:(id)arg1; - (void)setHasTemporaryWatch:(BOOL)arg1; @property(readonly, nonatomic) BOOL watchingIMHandle; - (void)setValue:(id)arg1 ofExtraProperty:(id)arg2; - (void)requestValueOfProperty:(id)arg1; - (id)_formattedPhoneNumber; - (void)_updateOriginalID:(id)arg1; - (struct __CFPhoneNumber *)phoneNumberRef; - (void)_createPhoneNumberRefIfNeeded; @property(readonly, nonatomic) BOOL isLoginIMHandle; @property(readonly, nonatomic) BOOL isLoginIMHandleForAnyAccount; @property(readonly, nonatomic) BOOL isBuddy; @property(readonly, retain, nonatomic) NSString *server; - (BOOL)hasResource; @property(readonly, nonatomic) BOOL hasLocation; - (BOOL)hasServer; @property(readonly, retain, nonatomic) NSString *mobileDeviceName; - (void)setIsBot:(BOOL)arg1; - (void)setIsMobile:(BOOL)arg1; @property(readonly, nonatomic) BOOL isSystemUser; @property(readonly, nonatomic) BOOL canBeAdded; - (void)_contactStoreDidChange:(id)arg1; - (void)setEmails:(id)arg1; - (void)setEmail:(id)arg1; - (void)setFirstName:(id)arg1 lastName:(id)arg2; @property(readonly, retain, nonatomic) NSArray *emails; - (void)setEmails:(id)arg1 andUpdateABPerson:(BOOL)arg2; @property(readonly, retain, nonatomic) NSString *email; - (void)setEmail:(id)arg1 andUpdateABPerson:(BOOL)arg2; - (void)setFirstName:(id)arg1 lastName:(id)arg2 fullName:(id)arg3 andUpdateABPerson:(BOOL)arg4; - (void)setLocalNickname:(id)arg1; - (void)setImageData:(id)arg1; - (void)_setBaseFirstName:(id)arg1 lastName:(id)arg2 fullName:(id)arg3; - (void)_setABPersonFirstName:(id)arg1 lastName:(id)arg2; @property(readonly, retain, nonatomic) NSString *lastName; @property(readonly, retain, nonatomic) NSString *firstName; @property(readonly, retain, nonatomic) NSString *nickname; @property(readonly, nonatomic) BOOL hasName; - (void)resetUniqueName; @property(readonly, retain, nonatomic) NSString *nameAndID; @property(readonly, retain, nonatomic) NSString *fullName; @property(readonly, retain, nonatomic) NSString *_displayNameWithAbbreviation; - (id)displayNameForChat:(id)arg1; @property(readonly, retain, nonatomic) NSString *normalizedID; @property(readonly, retain, nonatomic) NSString *displayID; - (id)immediateNameWithNeedsSuggestedNameFetch:(char *)arg1 useSuggestedName:(BOOL)arg2; - (void)scheduleSuggestedNameFetchIfNecessary; @property(readonly, retain, nonatomic) NSString *name; - (BOOL)_hasABName; - (BOOL)_hasServiceNameProperties; - (id)_IDWithTrimmedServer; @property(retain, nonatomic, setter=setIMPerson:) IMPerson *person; - (id)_cachedPerson; - (void)_clearABPersonLookup; - (void)resetABProperties; - (void)_clearABProperties; - (BOOL)areABPropertiesRecent; - (id)_abPersonCreateIfNeeded; - (BOOL)resetABPerson; - (void)clearABPerson; - (BOOL)isContact; - (unsigned long long)hash; @property(readonly, retain, nonatomic) IMServiceImpl *service; @property(readonly, retain, nonatomic) NSString *nameAndEmail; - (void)setUniqueName:(id)arg1; - (void)postNotificationName:(id)arg1; - (void)_postNotificationName:(id)arg1 userInfo:(id)arg2; - (void)_postNotification:(id)arg1; - (void)_registerForNotifications; @property(readonly, nonatomic) BOOL isAnonymous; - (void)setAnonymous:(BOOL)arg1; @property(readonly, retain, nonatomic) NSSet *groups; @property(readonly, retain, nonatomic) NSArray *groupsArray; - (id)imHandleForOtherAccount:(id)arg1; @property(readonly, nonatomic) BOOL canBeDeleted; - (id)copyWithZone:(struct _NSZone *)arg1; - (void)encodeWithCoder:(id)arg1; - (id)initWithCoder:(id)arg1; - (BOOL)isApple; - (BOOL)isMako; - (BOOL)isBusiness; - (void)_setOriginalID:(id)arg1; - (void)_setCountryCode:(id)arg1 updateSiblings:(BOOL)arg2; - (void)_setOriginalID:(id)arg1 updateSiblings:(BOOL)arg2; @property(readonly, retain, nonatomic) NSString *countryCode; - (void)_setOriginalID:(id)arg1 countryCode:(id)arg2 updateSiblings:(BOOL)arg3; - (id)_handleInfo; - (void)dealloc; - (id)initWithAccount:(id)arg1 ID:(id)arg2; - (id)initWithAccount:(id)arg1 ID:(id)arg2 alreadyCanonical:(BOOL)arg3; - (id)init; - (void)setStatusURLFromString:(id)arg1; @property(readonly, nonatomic) NSURL *statusMessageAsURL; - (id)fmfSiblingHandles; - (id)fmfHandle; - (void)releaseNotificationQueue; - (void)beginNotificationQueue; - (BOOL)shouldQueueNotifications; - (id)publicAPIPropertiesDictionary; - (void)_sendRemoteLogDumpRequest; - (void)_sendRemoteLogDumpRequest:(id)arg1; @end @protocol IMDaemonListenerProtocol - (void)lastMessageForAllChats:(NSDictionary *)arg1; - (void)didFetchCloudKitSyncDebuggingInfo:(NSDictionary *)arg1; - (void)receivedUrgentRequestForMessages:(NSArray *)arg1; - (void)oneTimeCodesDidChange:(NSArray *)arg1; - (void)didAttemptToDisableiCloudBackups:(long long)arg1 error:(NSError *)arg2; - (void)didFetchRampState:(NSDictionary *)arg1; - (void)didFetchSyncStateStats:(NSDictionary *)arg1; - (void)didAttemptToDisableAllDevicesResult:(BOOL)arg1; - (void)didPerformAdditionalStorageRequiredCheckWithSuccess:(BOOL)arg1 additionalStorageRequired:(unsigned long long)arg2 forAccountId:(NSString *)arg3 error:(NSError *)arg4; - (void)didAttemptToSetEnabledTo:(BOOL)arg1 result:(BOOL)arg2; - (void)returnMOCEnabledState:(unsigned long long)arg1; - (void)updateCloudKitStateWithDictionary:(NSDictionary *)arg1; - (void)updateCloudKitState; - (void)qosClassWhileServicingRequestsResponse:(unsigned int)arg1 identifier:(NSString *)arg2; - (void)stickerPackRemoved:(NSArray *)arg1; - (void)stickerPackUpdated:(NSDictionary *)arg1; - (void)pinCodeAlertCompleted:(NSString *)arg1 deviceName:(NSString *)arg2 deviceType:(NSString *)arg3 phoneNumber:(NSString *)arg4 responseFromDevice:(BOOL)arg5 wasCancelled:(BOOL)arg6; - (void)displayPinCodeForAccount:(NSString *)arg1 pinCode:(NSNumber *)arg2 deviceName:(NSString *)arg3 deviceType:(NSString *)arg4 phoneNumber:(NSString *)arg5; - (void)lastFailedMessageDateChanged:(long long)arg1; - (void)unreadCountChanged:(long long)arg1; - (void)databaseChatSpamUpdated:(NSString *)arg1; - (void)databaseNoLongerFull; - (void)databaseFull; - (void)databaseUpdated:(NSString *)arg1; - (void)databaseUpdated; - (void)account:(NSString *)arg1 relay:(NSString *)arg2 handleCancel:(NSDictionary *)arg3 fromPerson:(NSDictionary *)arg4; - (void)account:(NSString *)arg1 relay:(NSString *)arg2 handleUpdate:(NSDictionary *)arg3 fromPerson:(NSDictionary *)arg4; - (void)account:(NSString *)arg1 relay:(NSString *)arg2 handleInitate:(NSDictionary *)arg3 fromPerson:(NSDictionary *)arg4; - (void)account:(NSString *)arg1 postedError:(NSError *)arg2; - (void)account:(NSString *)arg1 statusChanged:(NSDictionary *)arg2; - (void)persistentProperty:(NSString *)arg1 changedTo:(id)arg2 from:(id)arg3; - (void)property:(NSString *)arg1 changedTo:(id)arg2 from:(id)arg3; - (void)showForgotPasswordNotificationForAccount:(NSString *)arg1; - (void)showInvalidCertNotificationForAccount:(NSString *)arg1; - (void)account:(NSString *)arg1 avAction:(unsigned int)arg2 withArguments:(NSDictionary *)arg3 toAVChat:(NSString *)arg4 isVideo:(BOOL)arg5; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 invitationSentSuccessfully:(BOOL)arg3; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 peerID:(NSString *)arg3 propertiesUpdated:(NSDictionary *)arg4; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 peerIDChangedFromID:(NSString *)arg3 toID:(NSString *)arg4; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 changedToNewConferenceID:(NSString *)arg3; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 receivedAVMessage:(unsigned int)arg3 from:(NSDictionary *)arg4 sessionID:(unsigned int)arg5 userInfo:(NSDictionary *)arg6; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 receivedUpdateFrom:(NSDictionary *)arg3 data:(NSData *)arg4; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 receivedCounterProposalFrom:(NSDictionary *)arg3 properties:(NSDictionary *)arg4; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 receivedCancelInvitationFrom:(NSDictionary *)arg3 properties:(NSDictionary *)arg4; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 receivedResponseToInvitationFrom:(NSDictionary *)arg3 properties:(NSDictionary *)arg4; - (void)account:(NSString *)arg1 conference:(NSString *)arg2 receivedInvitationFrom:(NSDictionary *)arg3 properties:(NSDictionary *)arg4; - (void)fileTransferHighQualityDownloadFailed:(NSString *)arg1; - (void)fileTransfer:(NSString *)arg1 highQualityDownloadSucceededWithPath:(NSString *)arg2; - (void)fileTransfer:(NSString *)arg1 updatedWithCurrentBytes:(unsigned long long)arg2 totalBytes:(unsigned long long)arg3 averageTransferRate:(unsigned long long)arg4; - (void)fileTransfers:(NSArray *)arg1 createdWithLocalPaths:(NSArray *)arg2; - (void)fileTransfer:(NSString *)arg1 updatedWithProperties:(NSDictionary *)arg2; - (void)fileTransfer:(NSString *)arg1 createdWithProperties:(NSDictionary *)arg2; - (void)standaloneFileTransferRegistered:(NSString *)arg1; - (void)chatLoadedWithChatIdentifier:(NSString *)arg1 chats:(NSArray *)arg2; - (void)frequentRepliesQuery:(NSString *)arg1 chatID:(NSString *)arg2 services:(NSArray *)arg3 finishedWithResult:(NSArray *)arg4 limit:(unsigned long long)arg5; - (void)historicalMessageGUIDsDeleted:(NSArray *)arg1 chatGUIDs:(NSArray *)arg2 queryID:(NSString *)arg3; - (void)markAsSpamQuery:(NSString *)arg1 chatID:(NSString *)arg2 services:(NSArray *)arg3 finishedWithResult:(NSNumber *)arg4; - (void)finishedDownloadingPurgedAssetsForChatIDs:(NSArray *)arg1; - (void)downloadedPurgedAssetBatchForChatIDs:(NSArray *)arg1 completedTransferGUIDs:(NSArray *)arg2; - (void)isDownloadingQuery:(NSString *)arg1 chatID:(NSString *)arg2 services:(NSArray *)arg3 finishedWithResult:(BOOL)arg4; - (void)uncachedAttachmentCountQuery:(NSString *)arg1 chatID:(NSString *)arg2 services:(NSArray *)arg3 finishedWithResult:(NSNumber *)arg4; - (void)attachmentQuery:(NSString *)arg1 chatID:(NSString *)arg2 services:(NSArray *)arg3 finishedWithResult:(NSArray *)arg4; - (void)pagedHistoryQuery:(NSString *)arg1 chatID:(NSString *)arg2 services:(NSArray *)arg3 numberOfMessagesBefore:(unsigned long long)arg4 numberOfMessagesAfter:(unsigned long long)arg5 finishedWithResult:(NSArray *)arg6; - (void)historyQuery:(NSString *)arg1 chatID:(NSString *)arg2 services:(NSArray *)arg3 finishedWithResult:(NSArray *)arg4 limit:(unsigned long long)arg5; - (void)messageQuery:(NSString *)arg1 finishedWithResult:(IMMessageItem *)arg2 chatGUIDs:(NSArray *)arg3; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 member:(NSDictionary *)arg5 statusChanged:(int)arg6; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 groupID:(NSString *)arg5 chatPersonCentricID:(NSString *)arg6 statusChanged:(int)arg7 handleInfo:(NSArray *)arg8; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 error:(NSError *)arg5; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 messagesUpdated:(NSArray *)arg5; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 notifySentMessage:(IMMessageItem *)arg5 sendTime:(NSNumber *)arg6; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 messageUpdated:(IMItem *)arg5; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 groupID:(NSString *)arg5 chatPersonCentricID:(NSString *)arg6 messagesReceived:(NSArray *)arg7; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 groupID:(NSString *)arg5 chatPersonCentricID:(NSString *)arg6 messageReceived:(IMItem *)arg7; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 groupID:(NSString *)arg5 chatPersonCentricID:(NSString *)arg6 messageSent:(IMMessageItem *)arg7; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 updateProperties:(NSDictionary *)arg5; - (void)account:(NSString *)arg1 chat:(NSString *)arg2 style:(unsigned char)arg3 chatProperties:(NSDictionary *)arg4 invitationReceived:(IMMessageItem *)arg5; - (void)loadedChats:(NSArray *)arg1; - (void)engroupParticipantsUpdatedForChat:(NSString *)arg1; - (void)leftChat:(NSString *)arg1; - (void)chat:(NSString *)arg1 engramIDUpdated:(NSString *)arg2; - (void)chat:(NSString *)arg1 isFilteredUpdated:(BOOL)arg2; - (void)chat:(NSString *)arg1 lastAddressedSIMIDUpdated:(NSString *)arg2; - (void)chat:(NSString *)arg1 lastAddressedHandleUpdated:(NSString *)arg2; - (void)chat:(NSString *)arg1 displayNameUpdated:(NSString *)arg2; - (void)chat:(NSString *)arg1 propertiesUpdated:(NSDictionary *)arg2; - (void)chat:(NSString *)arg1 updated:(NSDictionary *)arg2; - (void)account:(NSString *)arg1 buddyInfo:(NSDictionary *)arg2 commandDelivered:(NSNumber *)arg3 properties:(NSDictionary *)arg4; - (void)account:(NSString *)arg1 buddyInfo:(NSDictionary *)arg2 commandReceived:(NSNumber *)arg3 properties:(NSDictionary *)arg4; - (void)account:(NSString *)arg1 handleSubscriptionRequestFrom:(NSDictionary *)arg2 withMessage:(NSString *)arg3; - (void)account:(NSString *)arg1 buddyProperties:(NSDictionary *)arg2 buddyPictures:(NSDictionary *)arg3; - (void)account:(NSString *)arg1 groupsChanged:(NSArray *)arg2 error:(NSError *)arg3; - (void)account:(NSString *)arg1 buddyPictureChanged:(NSString *)arg2 imageData:(NSData *)arg3 imageHash:(NSString *)arg4; - (void)account:(NSString *)arg1 blockIdleStatusChanged:(BOOL)arg2; - (void)account:(NSString *)arg1 blockingModeChanged:(unsigned int)arg2; - (void)account:(NSString *)arg1 allowListChanged:(NSArray *)arg2; - (void)account:(NSString *)arg1 blockListChanged:(NSArray *)arg2; - (void)account:(NSString *)arg1 buddyPropertiesChanged:(NSArray *)arg2; - (void)accountRemoved:(NSString *)arg1; - (void)accountAdded:(NSString *)arg1 defaults:(NSDictionary *)arg2 service:(NSString *)arg3; - (void)account:(NSString *)arg1 capabilitiesChanged:(unsigned long long)arg2; - (void)account:(NSString *)arg1 defaultsChanged:(NSDictionary *)arg2; - (void)account:(NSString *)arg1 loginStatusChanged:(unsigned int)arg2 message:(NSString *)arg3 reason:(int)arg4 properties:(NSDictionary *)arg5; - (void)account:(NSString *)arg1 defaults:(NSDictionary *)arg2 blockList:(NSArray *)arg3 allowList:(NSArray *)arg4 blockingMode:(unsigned int)arg5 blockIdleStatus:(BOOL)arg6 status:(NSDictionary *)arg7 capabilities:(unsigned long long)arg8 serviceLoginStatus:(unsigned int)arg9 loginStatusMessage:(NSString *)arg10; - (void)activeAccountsChanged:(NSArray *)arg1 forService:(NSString *)arg2; - (void)defaultsChanged:(NSDictionary *)arg1 forService:(NSString *)arg2; - (void)vcCapabilitiesChanged:(unsigned long long)arg1; - (void)pendingACRequestComplete; - (void)pendingVCRequestComplete; - (void)setupComplete; - (void)setupComplete:(BOOL)arg1 info:(NSDictionary *)arg2; @end @protocol IMMessageChatItem @property(readonly, nonatomic) IMHandle *sender; @property(readonly, nonatomic) NSDate *time; @property(readonly, nonatomic) BOOL failed; @property(readonly, nonatomic) BOOL isFromMe; @end @protocol IMPluginChatItemProtocol @property(readonly, nonatomic) BOOL isFromMe; // @property(readonly, retain, nonatomic) IMBalloonPluginDataSource *dataSource; @property(readonly, retain, nonatomic) NSString *type; @end @protocol IMRemoteAppExtensionContextProtocol /* */ @end @protocol IMRemoteDaemonProtocol - (void)preWarm; - (void)simulateMessageReceive:(NSString *)arg1 serviceName:(NSString *)arg2 handles:(NSArray *)arg3 sender:(NSString *)arg4; - (void)simulateOneTimeCodeArriving:(NSDictionary *)arg1; - (void)consumeCodeWithMessageGUID:(NSString *)arg1; - (void)requestOneTimeCodeStatus; - (void)closeSessionChatID:(NSString *)arg1 identifier:(NSString *)arg2 style:(unsigned char)arg3 account:(NSString *)arg4; - (void)requestMOCEnabledState; - (void)tryToAutoCollectLogsWithErrorString:(NSString *)arg1 sendLogsTo:(NSString *)arg2; - (void)fetchCloudKitSyncStateDebuggingInfo:(NSDictionary *)arg1; - (void)syncDeletesToCloudKit; - (void)printCachedRampState; - (void)fetchLatestRampState; - (void)reportMetricToCK:(NSString *)arg1 withDict:(NSDictionary *)arg2; - (void)writeCloudKitSyncCounts:(NSDictionary *)arg1; - (void)fetchSyncStateStatistics; - (void)fetchSyncStateStats; - (void)updateAttachmentFileSizes; - (void)metricAttachments:(long long)arg1; - (void)purgeAttachments:(long long)arg1; - (void)deleteSalt; - (void)printCachedSalt; - (void)fetchLatestSalt; - (void)fetchSecurityLevelAndUpdateMiCSwitchEligibility; - (void)broadcastCloudKitStateAfterClearingErrors; - (void)clearAnalyticDefaultsAndLocalSyncState; - (void)uploadDailyAnalyticstoCloudKit; - (void)broadcastCloudKitStateAfterFetchingAccountStatus; - (void)broadcastCloudKitState; - (void)initiateSync; - (void)tryToDisableAllDevices; - (void)performAdditionalStorageRequiredCheck; - (void)setCloudKitEnabled:(BOOL)arg1; - (void)sendRestoreFailuresLogDumps; - (void)clearDataFromCloudKit; - (void)clearLocalCloudKitSyncState; - (void)deleteExitRecord; - (void)fetchExitRecord; - (void)writeExitRecord; - (void)loadDeletedMessagesWithLimit:(long long)arg1; - (void)loadDirtyMessagesWithLimit:(long long)arg1; - (void)initiatePeriodicSync; - (void)syncMessages; - (void)deleteMessagesZone; - (void)writeDirtyMessages; - (void)downloadAttachmentAssets; - (void)syncAttachments; - (void)writeAttachments; - (void)deleteAttachmentZone; - (void)createAttachmentZone; - (void)clearChatZoneSyncToken; - (void)markAllChatsAsDirty; - (void)syncChats; - (void)writeDirtyChats; - (void)deleteChatZone; - (void)createChatZone; - (void)requestQOSClassWhileServicingRequestsWithID:(NSString *)arg1; - (void)stopRecordingMessagesReplayDatabase; - (void)beginRecordingMessagesToReplayDatabase:(NSString *)arg1; - (void)replayMessagesFromDatabasePath:(NSString *)arg1; - (void)downloadStickerPackWithGUID:(NSString *)arg1 isIncomingMessage:(BOOL)arg2 ignoreCache:(BOOL)arg3; - (void)downloadStickerWithGUID:(NSString *)arg1; - (void)enrollSelfDeviceForSMSRelay:(NSString *)arg1; - (void)unEnrollDeviceForSMSRelay:(NSString *)arg1 account:(NSString *)arg2; - (void)enrollDeviceForSMSRelay:(NSString *)arg1 account:(NSString *)arg2; - (void)importMessage:(NSDictionary *)arg1 isRead:(BOOL)arg2; - (void)validateProfileAccount:(NSString *)arg1; - (void)unvalidateAliases:(NSArray *)arg1 account:(NSString *)arg2; - (void)validateAliases:(NSArray *)arg1 account:(NSString *)arg2; - (void)removeAliases:(NSArray *)arg1 account:(NSString *)arg2; - (void)addAliases:(NSArray *)arg1 account:(NSString *)arg2; - (void)relay:(NSString *)arg1 sendCancel:(NSDictionary *)arg2 toPerson:(NSString *)arg3 account:(NSString *)arg4; - (void)relay:(NSString *)arg1 sendUpdate:(NSDictionary *)arg2 toPerson:(NSString *)arg3 account:(NSString *)arg4; - (void)relay:(NSString *)arg1 sendInitateRequest:(NSDictionary *)arg2 toPerson:(NSString *)arg3 account:(NSString *)arg4; - (void)sendAVMessageToPerson:(NSString *)arg1 sessionID:(unsigned int)arg2 type:(unsigned int)arg3 userInfo:(NSDictionary *)arg4 conference:(NSString *)arg5 account:(NSString *)arg6; - (void)sendVCUpdate:(NSData *)arg1 toPerson:(NSString *)arg2 conference:(NSString *)arg3 account:(NSString *)arg4; - (void)sendCounterProposalToPerson:(NSString *)arg1 properties:(NSDictionary *)arg2 conference:(NSString *)arg3 account:(NSString *)arg4; - (void)cancelVCRequestWithPerson:(NSString *)arg1 properties:(NSDictionary *)arg2 conference:(NSString *)arg3 reason:(NSNumber *)arg4 account:(NSString *)arg5; - (void)cancelVCRequestWithPerson:(NSString *)arg1 properties:(NSDictionary *)arg2 conference:(NSString *)arg3 account:(NSString *)arg4; - (void)respondToVCInvitationWithPerson:(NSString *)arg1 properties:(NSDictionary *)arg2 conference:(NSString *)arg3 account:(NSString *)arg4; - (void)requestVCWithPerson:(NSString *)arg1 properties:(NSDictionary *)arg2 conference:(NSString *)arg3 account:(NSString *)arg4; - (void)sendCommand:(NSNumber *)arg1 withProperties:(NSDictionary *)arg2 toPerson:(NSString *)arg3 account:(NSString *)arg4 toChatID:(NSString *)arg5 identifier:(NSString *)arg6 style:(unsigned char)arg7; - (void)sendCommand:(NSNumber *)arg1 withProperties:(NSDictionary *)arg2 toPerson:(NSString *)arg3 account:(NSString *)arg4; - (void)sendNotificationMessageToUniqueID:(NSString *)arg1 withCommand:(long long)arg2; - (void)passwordUpdatedAccount:(NSString *)arg1; - (void)setBlockIdleStatus:(BOOL)arg1 account:(NSString *)arg2; - (void)setBlockList:(NSArray *)arg1 account:(NSString *)arg2; - (void)setAllowList:(NSArray *)arg1 account:(NSString *)arg2; - (void)setBlockingMode:(unsigned int)arg1 account:(NSString *)arg2; - (void)setProperties:(NSDictionary *)arg1 ofParticipant:(NSString *)arg2 inChatID:(NSString *)arg3 identifier:(NSString *)arg4 style:(unsigned char)arg5 account:(NSString *)arg6; - (void)updateBalloonPayload:(NSData *)arg1 attachments:(NSArray *)arg2 forMessageGUID:(NSString *)arg3; - (void)sendBalloonPayload:(NSData *)arg1 attachments:(NSArray *)arg2 withMessageGUID:(NSString *)arg3 bundleID:(NSString *)arg4; - (void)sendSavedReceiptForMessage:(IMMessageItem *)arg1 toChatID:(NSString *)arg2 identifier:(NSString *)arg3 style:(unsigned char)arg4 account:(NSString *)arg5; - (void)sendPlayedReceiptForMessage:(IMMessageItem *)arg1 toChatID:(NSString *)arg2 identifier:(NSString *)arg3 style:(unsigned char)arg4 account:(NSString *)arg5; - (void)sendReadReceiptForMessage:(IMMessageItem *)arg1 toChatID:(NSString *)arg2 identifier:(NSString *)arg3 style:(unsigned char)arg4 account:(NSString *)arg5; - (void)sendStickerAtPath:(NSString *)arg1 toChatID:(NSString *)arg2 forNBubbleFromTheBottom:(unsigned long long)arg3 atX:(NSString *)arg4 atY:(NSString *)arg5 scale:(NSString *)arg6 balloonWidth:(NSString *)arg7; - (void)logDumpAndSendMessageTo:(NSString *)arg1 forHours:(int)arg2; - (void)sendMessage:(IMMessageItem *)arg1 toChatID:(NSString *)arg2 identifier:(NSString *)arg3 style:(unsigned char)arg4 account:(NSString *)arg5; - (void)eagerUploadCancel:(NSURL *)arg1; - (void)eagerUploadTransfer:(NSDictionary *)arg1; - (void)declineInvitationToChatID:(NSString *)arg1 identifier:(NSString *)arg2 style:(unsigned char)arg3 account:(NSString *)arg4; - (void)removePersonInfoFromiMessageChat:(NSDictionary *)arg1 chatID:(NSString *)arg2 identifier:(NSString *)arg3 style:(unsigned char)arg4 account:(NSString *)arg5; - (void)removePersonInfo:(NSDictionary *)arg1 chatID:(NSString *)arg2 identifier:(NSString *)arg3 style:(unsigned char)arg4 account:(NSString *)arg5; - (void)invitePersonInfoToiMessageChat:(NSDictionary *)arg1 withMessage:(IMMessageItem *)arg2 toChatID:(NSString *)arg3 identifier:(NSString *)arg4 style:(unsigned char)arg5 account:(NSString *)arg6; - (void)invitePersonInfo:(NSDictionary *)arg1 withMessage:(IMMessageItem *)arg2 toChatID:(NSString *)arg3 identifier:(NSString *)arg4 style:(unsigned char)arg5 account:(NSString *)arg6; - (void)removeChatID:(NSString *)arg1 identifier:(NSString *)arg2 style:(unsigned char)arg3 account:(NSString *)arg4; - (void)leaveiMessageChatID:(NSString *)arg1 identifier:(NSString *)arg2 style:(unsigned char)arg3 account:(NSString *)arg4; - (void)leaveChatID:(NSString *)arg1 identifier:(NSString *)arg2 style:(unsigned char)arg3 account:(NSString *)arg4; - (void)joinChatID:(NSString *)arg1 handleInfo:(NSArray *)arg2 identifier:(NSString *)arg3 style:(unsigned char)arg4 groupID:(NSString *)arg5 lastAddressedHandle:(NSString *)arg6 lastAddressedSIMID:(NSString *)arg7 joinProperties:(NSDictionary *)arg8 account:(NSString *)arg9; - (void)joinChatID:(NSString *)arg1 handleInfo:(NSArray *)arg2 identifier:(NSString *)arg3 style:(unsigned char)arg4 joinProperties:(NSDictionary *)arg5 account:(NSString *)arg6; - (void)updateAuthorizationCredentials:(NSString *)arg1 token:(NSString *)arg2 account:(NSString *)arg3; - (void)setValue:(id)arg1 ofProperty:(NSString *)arg2 ofPerson:(NSString *)arg3 account:(NSString *)arg4; - (void)requestProperty:(NSString *)arg1 ofPerson:(NSString *)arg2 account:(NSString *)arg3; - (void)stopWatchingBuddy:(NSString *)arg1 account:(NSString *)arg2; - (void)startWatchingBuddy:(NSString *)arg1 account:(NSString *)arg2; - (void)requestSubscriptionTo:(NSString *)arg1 account:(NSString *)arg2; - (void)acceptSubscriptionRequest:(BOOL)arg1 from:(NSString *)arg2 account:(NSString *)arg3; - (void)renameGroup:(NSString *)arg1 to:(NSString *)arg2 account:(NSString *)arg3; - (void)changeGroup:(NSString *)arg1 changes:(NSDictionary *)arg2 account:(NSString *)arg3; - (void)changeGroups:(NSDictionary *)arg1 account:(NSString *)arg2; - (void)requestGroupsAccount:(NSString *)arg1; - (void)unregisterAccount:(NSString *)arg1; - (void)registerAccount:(NSString *)arg1; - (void)authenticateAccount:(NSString *)arg1; - (void)resumeBuddyUpdatesAccount:(NSString *)arg1; - (void)holdBuddyUpdatesAccount:(NSString *)arg1; - (void)sendMappingPacket:(NSString *)arg1 toHandle:(NSString *)arg2 account:(NSString *)arg3; - (void)logoutAccount:(NSString *)arg1; - (void)loginAccount:(NSString *)arg1; - (void)autoReconnectAccount:(NSString *)arg1; - (void)autoLoginAccount:(NSString *)arg1; - (void)archiveChat:(NSString *)arg1; - (void)initiateCNContactBasedChatMerge:(BOOL)arg1; - (void)debugUpdateGroupParticipantversion:(unsigned long long)arg1 chatIdentifier:(NSString *)arg2; - (void)loadChatWithChatIdentifier:(NSString *)arg1; - (void)removeChat:(NSString *)arg1; - (void)silenceChat:(NSString *)arg1 untilDate:(NSDate *)arg2; - (void)chat:(NSString *)arg1 updateLastAddressedSIMID:(NSString *)arg2; - (void)chat:(NSString *)arg1 updateLastAddressHandle:(NSString *)arg2; - (void)chat:(NSString *)arg1 updateIsFiltered:(BOOL)arg2; - (void)chat:(NSString *)arg1 updateDisplayName:(NSString *)arg2; - (void)chat:(NSString *)arg1 updateProperties:(NSDictionary *)arg2; - (void)cleanupAttachments; - (void)requestLastMessagesForChats; - (void)loadIsDownloadingPurgedAttachmentsForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 chatID:(NSString *)arg4 queryID:(NSString *)arg5; - (void)downloadPurgedAttachmentsForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 chatID:(NSString *)arg4; - (unsigned long long)loadUncachedAttachmentCountForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 chatID:(NSString *)arg4 queryID:(NSString *)arg5; - (void)loadAttachmentsForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 chatID:(NSString *)arg4 queryID:(NSString *)arg5; - (void)loadUnreadForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 limit:(unsigned long long)arg4 fallbackGUID:(NSString *)arg5 chatId:(NSString *)arg6 queryID:(NSString *)arg7; - (void)loadFrequentRepliesForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 limit:(unsigned long long)arg4 chatID:(NSString *)arg5 queryID:(NSString *)arg6; - (void)updateUnformattedID:(NSString *)arg1 forBuddyID:(NSString *)arg2 onService:(NSString *)arg3; - (void)markHasHadSuccessfulQueryForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3; - (void)markSavedForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 message:(IMMessageItem *)arg4; - (void)markSavedForMessageGUID:(NSString *)arg1; - (void)markPlayedExpressiveSendForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 message:(IMMessageItem *)arg4; - (void)markPlayedForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 message:(IMMessageItem *)arg4; - (void)markPlayedForMessageGUID:(NSString *)arg1; - (void)storeItem:(IMItem *)arg1 inChatGUID:(NSString *)arg2; - (void)markReadForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 messages:(NSArray *)arg4 clientUnreadCount:(unsigned long long)arg5; - (void)markReadForMessageGUID:(NSString *)arg1 callerOrigin:(long long)arg2; - (void)markReadForMessageGUID:(NSString *)arg1; - (void)markMessageAsCorrupt:(NSString *)arg1 setCorrupt:(BOOL)arg2; - (void)updateMessage:(IMMessageItem *)arg1; - (void)markAsSpamForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 chatID:(NSString *)arg4 queryID:(NSString *)arg5 autoReport:(BOOL)arg6; - (void)clearHistoryForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 beforeGUID:(NSString *)arg4 afterGUID:(NSString *)arg5 chatID:(NSString *)arg6 queryID:(NSString *)arg7; - (void)deleteMessageWithGUIDs:(NSArray *)arg1 queryID:(NSString *)arg2; - (void)requestPendingMessages; - (void)loadPagedHistoryForGUID:(NSString *)arg1 chatIdentifiers:(NSArray *)arg2 style:(unsigned char)arg3 onServices:(NSArray *)arg4 numberOfMessagesBefore:(unsigned long long)arg5 numberOfMessagesAfter:(unsigned long long)arg6 chatID:(NSString *)arg7 queryID:(NSString *)arg8; - (void)loadHistoryForIDs:(NSArray *)arg1 style:(unsigned char)arg2 onServices:(NSArray *)arg3 limit:(unsigned long long)arg4 beforeGUID:(NSString *)arg5 afterGUID:(NSString *)arg6 chatID:(NSString *)arg7 queryID:(NSString *)arg8; - (void)loadMessageWithGUID:(NSString *)arg1 queryID:(NSString *)arg2; - (void)loadChatsWithChatID:(NSString *)arg1; - (void)setListenerCapabilities:(unsigned int)arg1; - (void)account:(NSString *)arg1 avAction:(unsigned int)arg2 withArguments:(NSDictionary *)arg3 toAVChat:(NSString *)arg4 isVideo:(BOOL)arg5; - (void)conference:(NSString *)arg1 account:(NSString *)arg2 notifyInvitationCancelledFromPerson:(NSString *)arg3; - (void)clearPendingVCRequestsWithPerson:(NSString *)arg1 forAccount:(NSString *)arg2; - (BOOL)markAttachment:(NSString *)arg1 sender:(NSString *)arg2 recipients:(NSArray *)arg3 isIncoming:(BOOL)arg4; - (void)fileTransferRemoved:(NSString *)arg1; - (void)fileTransferStopped:(NSString *)arg1; - (void)fileTransfer:(NSString *)arg1 acceptedWithPath:(NSString *)arg2 autoRename:(BOOL)arg3 overwrite:(BOOL)arg4; - (void)fileTransfer:(NSString *)arg1 updatedWithProperties:(NSDictionary *)arg2; - (void)fileTransfer:(NSString *)arg1 createdWithProperties:(NSDictionary *)arg2; - (void)downloadHighQualityVariantOfFileTransferWithGUID:(NSString *)arg1; - (void)deleteFileTransferWithGUID:(NSString *)arg1; - (void)sendStandaloneFileTransfer:(NSString *)arg1; - (void)requestBuddyPicturesAndPropertiesForAccount:(NSString *)arg1; - (void)writeAccount:(NSString *)arg1 defaults:(NSDictionary *)arg2; - (void)removeAccount:(NSString *)arg1; - (void)addAccount:(NSString *)arg1 defaults:(NSDictionary *)arg2 service:(NSString *)arg3; - (void)deactivateAccounts:(NSArray *)arg1; - (void)activateAccounts:(NSArray *)arg1; - (void)requestPendingACInvites; - (void)requestPendingVCInvites; - (void)setVCCapabilities:(unsigned long long)arg1; - (void)setValue:(id)arg1 ofPersistentProperty:(NSString *)arg2; - (void)setValue:(id)arg1 ofProperty:(NSString *)arg2; - (void)changeMyStatus:(NSDictionary *)arg1 forAccount:(NSString *)arg2; - (void)terminateForcingIfNeeded:(BOOL)arg1; - (void)logoutAllAccounts; - (void)loginAllAccounts; - (void)autoLoginActiveAccountsIfNecessary; @end @class IMSendProgress; @protocol IMSendProgressDelegate - (void)sendProgress:(IMSendProgress *)arg1 progressDidChange:(float)arg2 sendingMessages:(NSDictionary *)arg3 sendCount:(unsigned long long)arg4 totalCount:(unsigned long long)arg5 finished:(BOOL)arg6; @end @protocol IMSendProgressTimeDataSource @property(readonly) double timeIntervalSinceReferenceDate; @end @protocol IMSystemMonitorListener @optional - (void)systemDidEnterDataProtectionLock; - (void)systemDidLeaveDataProtectionLock; - (void)systemDidLeaveFirstDataProtectionLock; - (void)systemScreenDidPowerDown; - (void)systemScreenDidPowerUp; - (void)systemDidUnlock; - (void)systemDidLock; - (void)systemDidLogout; - (void)systemDidFastUserSwitchIn; - (void)systemDidFastUserSwitchOut; - (void)systemRestoreStateDidChange; - (void)systemDidFinishMigration; - (void)systemDidStopBackup; - (void)systemDidStartBackup; - (void)notificationCenterDidDisappear; - (void)notificationCenterWillAppear; - (void)systemApplicationDidResumeForEventsOnly; - (void)systemApplicationDidSuspendForEventsOnly; - (void)systemApplicationDidResume; - (void)systemApplicationDidSuspend; - (void)systemApplicationWillResignActive; - (void)systemApplicationDidBecomeActive; - (void)systemApplicationWillEnterForeground; - (void)systemApplicationDidEnterBackground; - (void)systemWillShutdown; - (void)systemDidLeaveMemoryPressure; - (void)systemDidEnterMemoryPressure; - (void)systemDidWake; - (void)systemWillSleep; - (void)screenUnlocked; - (void)screenLocked; - (void)screenSaverDidStop; - (void)screenSaverDidStart; - (void)systemDidBecomeUnidle; - (void)systemDidBecomeIdle; @end @protocol IMVisibleAssociatedMessageHost @property(retain, nonatomic, setter=_setVisibleAssociatedMessageChatItems:) NSArray *visibleAssociatedMessageChatItems; @end @protocol INSpeakable @property(readonly) NSArray *alternativeSpeakableMatches; @property(readonly) NSString *vocabularyIdentifier; @property(readonly) NSString *pronunciationHint; @property(readonly) NSString *spokenPhrase; @optional @property(readonly) NSString *identifier; @end @interface IMTranscriptEffectHelper : NSObject { } + (BOOL)shouldShowReplayButtonForEffectIdentifier:(id)arg1; + (BOOL)isFeatureEnabled; + (id)sendWithStringForEffectIdentifier:(id)arg1; + (id)replayStringForEffectIdentifier:(id)arg1; + (id)nameForEffectIdentifier:(id)arg1; + (id)findIdentifierByMathcingPartialSufix:(id)arg1; + (id)sendWithEffectStringMap; + (id)replayStringMap; + (id)identifierNameMap; + (BOOL)effectIdentifierIsImpactEffect:(id)arg1; + (BOOL)effectIdentifierIsFullScreenMoment:(id)arg1; + (BOOL)identifierIsEffectIdentifier:(id)arg1; + (id)allEffectIdentifiers; + (void)setFeatureEnabled:(BOOL)arg1; @end @interface IMCloudKitSyncState : NSObject { BOOL _hasExited; BOOL _isDisablingDevices; BOOL _accountIsEnabled; unsigned long long _syncControllerSyncState; long long _syncControllerSyncType; long long _syncControllerRecordType; NSDate *_exitDate; long long _changingEnabledState; NSDate *_lastSyncDate; NSArray *_errors; long long _accountStatus; long long _syncState; } + (id)logHandle; @property(readonly, nonatomic) long long syncState; // @synthesize syncState=_syncState; @property(readonly, nonatomic) BOOL accountIsEnabled; // @synthesize accountIsEnabled=_accountIsEnabled; @property(readonly, nonatomic) long long accountStatus; // @synthesize accountStatus=_accountStatus; @property(readonly, nonatomic) NSArray *errors; // @synthesize errors=_errors; @property(readonly, nonatomic) NSDate *lastSyncDate; // @synthesize lastSyncDate=_lastSyncDate; @property(readonly, nonatomic) BOOL isDisablingDevices; // @synthesize isDisablingDevices=_isDisablingDevices; @property(readonly, nonatomic) long long changingEnabledState; // @synthesize changingEnabledState=_changingEnabledState; @property(readonly, copy, nonatomic) NSDate *exitDate; // @synthesize exitDate=_exitDate; @property(readonly, nonatomic) BOOL hasExited; // @synthesize hasExited=_hasExited; @property(readonly, nonatomic) long long syncControllerRecordType; // @synthesize syncControllerRecordType=_syncControllerRecordType; @property(readonly, nonatomic) long long syncControllerSyncType; // @synthesize syncControllerSyncType=_syncControllerSyncType; @property(readonly, nonatomic) unsigned long long syncControllerSyncState; // @synthesize syncControllerSyncState=_syncControllerSyncState; @property(readonly, nonatomic) BOOL isSyncEnabledForDisplayOnly; @property(readonly, nonatomic) BOOL canChangeEnabledSetting; @property(readonly, nonatomic) BOOL canStartSyncing; - (BOOL)_isChangingEnabledState; @property(readonly, nonatomic) BOOL canEnableSyncing; - (id)description; @property(readonly, nonatomic) BOOL syncingFailed; @property(readonly, nonatomic) BOOL isSyncingAvailable; @property(readonly, nonatomic) BOOL isSyncingEnabled; - (id)syncErrorWithDomain:(id)arg1 code:(long long)arg2; @property(readonly, nonatomic) BOOL isSyncingPaused; @property(readonly, nonatomic) BOOL isSyncing; - (id)initWithAccountEnabled:(BOOL)arg1 stateDictionary:(id)arg2; - (id)logHandle; - (id)createSyncProgressWithSyncStatistics:(id)arg1; - (BOOL)shouldFetchSyncStatistics; - (BOOL)shouldRescheduleSyncSyncProgress; - (BOOL)_shouldHideProgressInFirstSevenDays; @end @interface IMItemsController : NSObject { struct __CFArray *_items; unsigned long long _capacity; } + (id)_charactersToIgnoreWhenParsingTextContent; @property(nonatomic) unsigned long long capacity; // @synthesize capacity=_capacity; - (BOOL)_trimIfNeeded; - (id)_lastRelatedIncomingFinishedMessageTextContentWithLimit:(long long)arg1; - (id)_lastIncomingFinishedMessageWithTextContent; - (id)_lastIncomingFinishedMessage; - (id)_lastIncomingMessage; - (id)_lastFinishedMessage; - (id)_lastSentMessage; - (id)_lastMessage; - (id)_firstMessage; - (id)_typingMessage; - (id)_itemForGUID:(id)arg1; - (id)_member:(id)arg1; - (unsigned long long)_indexOfItem:(id)arg1; - (void)_setSortID:(id)arg1; - (void)_replaceStaleTypingMessage; - (void)_removeAllItems; - (void)_replaceItems:(id)arg1; - (void)_removeItem:(id)arg1; - (void)_handleItem:(id)arg1; - (void)_itemsDidChange:(id)arg1; - (id)_items; - (id)_initWithItems:(id)arg1; - (void)assignSortIDsToItems:(id)arg1; @property(readonly, nonatomic) BOOL isMoreToLoad; - (void)dealloc; - (id)init; @end @interface IMAutomationPersonCentricChats : NSObject { } - (void)initiateCNContactBasedMerging; @end @class IMChat, IMPluginPayload, IMMessage; @interface IMBalloonPluginDataSource : NSObject { BOOL _payloadInShelf; BOOL _initialMessageIsFromMe; BOOL _isLast; BOOL _isShowingLatestMessageAsBreadcrumb; BOOL _hasInvalidatedSize; BOOL _parentChatHasAllUnknownRecipients; BOOL _showingLatestMessageAsBreadcrumb; IMChat *_chat; IMPluginPayload *_pluginPayload; NSURL *_url; // DDScannerResult *_dataDetectedResult; NSArray *_attachmentGUIDs; NSURL *_URLToOpenOnTapAction; NSArray *_pendingAttachmentData; NSMutableSet *_temporaryAttachmentURLs; NSString *__imMessageGUID; NSString *_messageGUID; NSString *_sessionGUID; NSString *_bundleID; NSArray *_consumedPayloads; NSString *_guidOfLastMessageInSession; long long _messageIDOfLastMessageInSession; } + (id)replaceHandleWithContactNameInString:(id)arg1 forAccount:(id)arg2 additionalHandles:(id)arg3; + (BOOL)supportsIndividualPreviewSummaries; + (id)previewSummary; + (id)previewSummaryForPluginPayload:(id)arg1 withBundleID:(id)arg2 previewAttachmentURL:(id *)arg3 previewAttachmentUTI:(id *)arg4; + (id)previewSummaryForPluginBundle:(id)arg1; + (id)unlocalizedPreviewSummaryForPluginBundle:(id)arg1 pluginDisplayName:(id)arg2; + (BOOL)supportsURL:(id)arg1; @property(readonly, nonatomic) long long messageIDOfLastMessageInSession; // @synthesize messageIDOfLastMessageInSession=_messageIDOfLastMessageInSession; @property(readonly, retain, nonatomic) NSString *guidOfLastMessageInSession; // @synthesize guidOfLastMessageInSession=_guidOfLastMessageInSession; @property(readonly, nonatomic, getter=isShowingLatestMessageAsBreadcrumb) BOOL showingLatestMessageAsBreadcrumb; // @synthesize showingLatestMessageAsBreadcrumb=_showingLatestMessageAsBreadcrumb; @property(nonatomic) BOOL parentChatHasAllUnknownRecipients; // @synthesize parentChatHasAllUnknownRecipients=_parentChatHasAllUnknownRecipients; @property(retain, nonatomic) NSArray *consumedPayloads; // @synthesize consumedPayloads=_consumedPayloads; @property(nonatomic) BOOL hasInvalidatedSize; // @synthesize hasInvalidatedSize=_hasInvalidatedSize; @property(readonly, retain, nonatomic) NSString *bundleID; // @synthesize bundleID=_bundleID; @property(retain, nonatomic) NSString *sessionGUID; // @synthesize sessionGUID=_sessionGUID; @property(retain, nonatomic) NSString *messageGUID; // @synthesize messageGUID=_messageGUID; @property(nonatomic, setter=setShowingLatestMessageAsBreadcrumb:) BOOL isShowingLatestMessageAsBreadcrumb; // @synthesize isShowingLatestMessageAsBreadcrumb=_isShowingLatestMessageAsBreadcrumb; @property(retain, nonatomic) NSString *_imMessageGUID; // @synthesize _imMessageGUID=__imMessageGUID; @property(retain, nonatomic) NSMutableSet *temporaryAttachmentURLs; // @synthesize temporaryAttachmentURLs=_temporaryAttachmentURLs; @property(retain, nonatomic) NSArray *pendingAttachmentData; // @synthesize pendingAttachmentData=_pendingAttachmentData; @property(nonatomic, setter=setLast:) BOOL isLast; // @synthesize isLast=_isLast; @property(nonatomic) BOOL initialMessageIsFromMe; // @synthesize initialMessageIsFromMe=_initialMessageIsFromMe; @property(readonly, nonatomic) NSURL *URLToOpenOnTapAction; // @synthesize URLToOpenOnTapAction=_URLToOpenOnTapAction; @property(retain, nonatomic) NSArray *attachmentGUIDs; // @synthesize attachmentGUIDs=_attachmentGUIDs; // @property(retain, nonatomic) DDScannerResult *dataDetectedResult; // @synthesize dataDetectedResult=_dataDetectedResult; @property(retain, nonatomic) NSURL *url; // @synthesize url=_url; @property(nonatomic) BOOL payloadInShelf; // @synthesize payloadInShelf=_payloadInShelf; @property(retain, nonatomic) IMPluginPayload *pluginPayload; // @synthesize pluginPayload=_pluginPayload; @property(retain, nonatomic) IMChat *chat; // @synthesize chat=_chat; - (id)description; - (void)_reloadLatestUnconsumedBreadcrumb; - (void)endShowingLastConsumedBreadcrumb; - (void)beginShowingLastConsumedBreadcrumbForOutgoingPayload:(id)arg1; - (id)_replaceHandleWithContactNameInString:(id)arg1; // @property(readonly, nonatomic) LPLinkMetadata *richLinkMetadata; - (void)datasourceWasMovedToNewGuid:(id)arg1; - (struct CGSize)sizeThatFits:(struct CGSize)arg1; - (id)individualPreviewAttachmentFileAndUTI:(id *)arg1; - (id)_summaryText; - (id)individualPreviewSummary; - (void)stopPlayback; - (void)playbackWithCompletionBlock:(CDUnknownBlockType)arg1; - (unsigned long long)playbackType; - (void)markAsPlayed; - (void)needsResize; @property(readonly, nonatomic) BOOL supportsDynamicSize; - (void)statusStringNeedsUpdate; @property(readonly, nonatomic) BOOL wantsReplyFromContentView; - (void)didTapStatusItem; @property(readonly, retain, nonatomic) NSAttributedString *statusAttributedString; @property(readonly, retain, nonatomic) NSString *statusString; @property(readonly, nonatomic) BOOL wantsStatusItem; - (void)payloadWillSendFromShelf; - (void)payloadWillEnterShelf; - (void)thumbnailURLWithSize:(struct CGSize)arg1 completion:(CDUnknownBlockType)arg2; - (void)payloadDidChange; - (void)pluginPayloadDidChange:(unsigned long long)arg1; @property(readonly, nonatomic) BOOL isPlayed; @property(readonly, nonatomic) BOOL isFromMe; - (unsigned long long)_updateWithPluginPayload:(id)arg1 messageID:(long long)arg2 messageGUID:(id)arg3; - (void)_removeTemporaryAttachmentURLs; - (void)_updateTemporaryAttachmentURLsForPluginPayload; - (BOOL)_senderIsSameBetweenPayload:(id)arg1 andOtherPayload:(id)arg2; - (void)_updatePayload:(id)arg1 messageID:(long long)arg2 messageGUID:(id)arg3; - (void)updatePayload:(id)arg1 attachments:(id)arg2; - (void)updatePayload:(id)arg1; - (void)sendPayload:(id)arg1 attachments:(id)arg2; - (void)sendPayload:(id)arg1; @property(readonly, nonatomic) IMMessage *imMessage; @property(readonly, retain, nonatomic) NSData *messagePayloadDataForSending; - (void)setPayload:(id)arg1 attachments:(id)arg2; @property(retain, nonatomic) NSData *payload; @property(readonly, nonatomic) NSArray *allPayloads; - (id)initWithPluginPayload:(id)arg1; - (id)initWithMessageGUID:(id)arg1 payload:(id)arg2 dataDetectedResult:(id)arg3 url:(id)arg4; @end @interface IMChatItem : NSObject { IMItem *_item; } @property(readonly, retain, nonatomic) NSString *balloonBundleID; - (void)_setTimeAdded:(id)arg1; - (id)_timeAdded; - (id)_timeStale; - (id)_item; - (id)_initWithItem:(id)arg1; @property(readonly, nonatomic) BOOL canDelete; - (id)copyWithZone:(struct _NSZone *)arg1; - (id)description; @end @interface IMTranscriptChatItem : IMChatItem { NSString *_guid; unsigned char _contiguousType; unsigned char _attachmentContiguousType; unsigned int _contiguousLoaded:1; } @property(copy, nonatomic, setter=_setGUID:) NSString *guid; // @synthesize guid=_guid; - (void)_setAttachmentContiguousType:(unsigned char)arg1; - (void)_setContiguousType:(unsigned char)arg1; - (void)_setContiguousLoaded:(BOOL)arg1; - (BOOL)_isContiguousLoaded; @property(readonly, nonatomic, getter=isContiguous) BOOL contiguous; @property(readonly, nonatomic) unsigned char attachmentContiguousType; @property(readonly, nonatomic) unsigned char contiguousType; - (BOOL)isAttachmentContiguousWithChatItem:(id)arg1; - (BOOL)isContiguousWithChatItem:(id)arg1; - (id)copyWithZone:(struct _NSZone *)arg1; - (BOOL)isEqual:(id)arg1; - (unsigned long long)hash; - (id)description; @end @interface IMReportSpamChatItem : IMTranscriptChatItem { BOOL _wasReportedAsSpam; BOOL _isGroupMessage; BOOL _hasMultipleMessages; BOOL _showReportSMSSpam; } @property(readonly, nonatomic) BOOL showReportSMSSpam; // @synthesize showReportSMSSpam=_showReportSMSSpam; @property(readonly, nonatomic) BOOL hasMultipleMessages; // @synthesize hasMultipleMessages=_hasMultipleMessages; @property(readonly, nonatomic) BOOL isGroupMessage; // @synthesize isGroupMessage=_isGroupMessage; @property(readonly, nonatomic) BOOL wasReportedAsSpam; // @synthesize wasReportedAsSpam=_wasReportedAsSpam; - (id)_initWithItem:(id)arg1 wasReportedAsSpam:(BOOL)arg2 isGroup:(BOOL)arg3 hasMultipleMessages:(BOOL)arg4 showReportSMSSpam:(BOOL)arg5; @end @interface IMServiceChatItem : IMTranscriptChatItem { IMHandle *_handle; IMServiceImpl *_service; } @property(readonly, nonatomic) IMHandle *handle; // @synthesize handle=_handle; @property(readonly, nonatomic) IMServiceImpl *service; // @synthesize service=_service; - (id)_initWithItem:(id)arg1 service:(id)arg2 handle:(id)arg3; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMNumberChangedChatItem : IMTranscriptChatItem { NSString *_sender; } @property(readonly, nonatomic) NSString *sender; // @synthesize sender=_sender; - (id)_initWithItem:(id)arg1 senderHandle:(id)arg2; @end @interface IMDateChatItem : IMTranscriptChatItem { } - (id)_initWithItem:(id)arg1; @property(readonly, nonatomic) NSDate *date; @end @interface IMSenderChatItem : IMTranscriptChatItem { IMHandle *_handle; } @property(readonly, nonatomic) IMHandle *handle; // @synthesize handle=_handle; - (id)_initWithItem:(id)arg1 handle:(id)arg2; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMMessageChatItem : IMTranscriptChatItem { } @property(readonly, nonatomic) IMHandle *sender; @property(readonly, nonatomic) NSDate *time; @property(readonly, nonatomic) BOOL failed; @property(readonly, nonatomic) BOOL isFromMe; @property(readonly, nonatomic) IMMessage *message; // Remaining properties @property(readonly, copy) NSString *debugDescription; @property(readonly, copy) NSString *description; @property(readonly) Class superclass; @end @interface IMMessagePartChatItem : IMMessageChatItem { NSAttributedString *_text; NSAttributedString *_fallbackCorruptText; long long _index; struct _NSRange _messagePartRange; NSArray *_visibleAssociatedMessageChatItems; NSArray *_messageEditChatItems; BOOL _isBusiness; BOOL _chatInScrutinyMode; BOOL _whitelistedRichLinkSender; } + (id)_messageItemWithPartsDeleted:(id)arg1 fromMessageItem:(id)arg2; + (id)_newMessagePartsForMessageItem:(id)arg1 shouldDisplayLink:(BOOL)arg2 isBusiness:(BOOL)arg3 parentChatIsSpam:(BOOL)arg4 hasKnownParticipants:(BOOL)arg5; + (BOOL)_supportsRichLinkURL:(id)arg1 forSender:(id)arg2 isWhitelistedRichLinkSender:(BOOL)arg3; + (id)_richLinkRangesForMessageText:(id)arg1 sender:(id)arg2 isWhitelistedRichLinkSender:(BOOL)arg3; + (id)_additionalSupportedRichLinkSchemesForWhitelistedSender:(id)arg1; + (BOOL)_isWhitelistedRichLinkSender:(id)arg1 isBusiness:(BOOL)arg2; + (id)_defaultRichLinkSenderWhitelist; + (BOOL)_isWhiteListedURL:(id)arg1; + (id)_defaultRichLinkWhiteList; + (id)_newMessagePartsForMessageItem:(id)arg1; + (id)_guidForMessage:(id)arg1 url:(id)arg2; @property(nonatomic, getter=isWhitelistedRichLinkSender) BOOL whitelistedRichLinkSender; // @synthesize whitelistedRichLinkSender=_whitelistedRichLinkSender; @property(readonly, copy, nonatomic) NSAttributedString *fallbackCorruptText; // @synthesize fallbackCorruptText=_fallbackCorruptText; @property(nonatomic) BOOL chatInScrutinyMode; // @synthesize chatInScrutinyMode=_chatInScrutinyMode; @property(readonly, nonatomic) NSArray *messageEditChatItems; // @synthesize messageEditChatItems=_messageEditChatItems; @property(retain, nonatomic, setter=_setVisibleAssociatedMessageChatItems:) NSArray *visibleAssociatedMessageChatItems; // @synthesize visibleAssociatedMessageChatItems=_visibleAssociatedMessageChatItems; @property(nonatomic) struct _NSRange messagePartRange; // @synthesize messagePartRange=_messagePartRange; @property(nonatomic) long long index; // @synthesize index=_index; @property(readonly, copy, nonatomic) NSAttributedString *text; // @synthesize text=_text; - (BOOL)canSendMessageAcknowledgment; - (void)_setMessageEditChatItems:(id)arg1; - (id)_initWithItem:(id)arg1 text:(id)arg2 index:(long long)arg3 messagePartRange:(struct _NSRange)arg4 visibleAssociatedMessageChatItems:(id)arg5; - (id)_initWithItem:(id)arg1 messagePartRange:(struct _NSRange)arg2; @property(readonly, nonatomic) BOOL isCorrupt; @property(nonatomic) BOOL isBusiness; // @synthesize isBusiness=_isBusiness; - (BOOL)canDelete; - (id)copyWithZone:(struct _NSZone *)arg1; @property(readonly, copy) NSString *description; // Remaining properties @property(readonly, copy) NSString *debugDescription; @property(readonly) Class superclass; @end @interface IMTextMessagePartChatItem : IMMessagePartChatItem { NSAttributedString *_subject; } @property(readonly, copy, nonatomic) NSAttributedString *subject; // @synthesize subject=_subject; - (id)_initWithItem:(id)arg1 text:(id)arg2 index:(long long)arg3 messagePartRange:(struct _NSRange)arg4 subject:(id)arg5 visibleAssociatedMessageChatItems:(id)arg6; - (id)_initWithItem:(id)arg1 text:(id)arg2 index:(long long)arg3 messagePartRange:(struct _NSRange)arg4 subject:(id)arg5; - (id)_initWithItem:(id)arg1 text:(id)arg2 index:(long long)arg3 messagePartRange:(struct _NSRange)arg4 subject:(id)arg5 shouldDisplayLink:(BOOL)arg6; - (id)copyWithZone:(struct _NSZone *)arg1; - (id)description; - (void)setShouldDisplayRichLink:(BOOL)arg1; - (BOOL)shouldDisplayRichLink; @end @interface IMTranscriptPluginChatItem : IMMessagePartChatItem { BOOL _isLastChatItemOfPluginType; BOOL _hasSetIsLastChatItemOfPluginType; BOOL _parentChatHasKnownParticipants; IMPluginPayload *_initialPayload; NSString *_bundleIdentifier; IMBalloonPluginDataSource *_dataSource; } @property(retain, nonatomic) IMBalloonPluginDataSource *dataSource; // @synthesize dataSource=_dataSource; @property(readonly, nonatomic) BOOL parentChatHasKnownParticipants; // @synthesize parentChatHasKnownParticipants=_parentChatHasKnownParticipants; @property(nonatomic) BOOL hasSetIsLastChatItemOfPluginType; // @synthesize hasSetIsLastChatItemOfPluginType=_hasSetIsLastChatItemOfPluginType; @property(nonatomic, setter=setLastChatItemOfPluginType:) BOOL isLastChatItemOfPluginType; // @synthesize isLastChatItemOfPluginType=_isLastChatItemOfPluginType; @property(retain, nonatomic) NSString *bundleIdentifier; // @synthesize bundleIdentifier=_bundleIdentifier; @property(retain, nonatomic) IMPluginPayload *initialPayload; // @synthesize initialPayload=_initialPayload; - (BOOL)wantsAutoPlayback; @property(readonly, nonatomic) BOOL isSaved; @property(readonly, nonatomic) BOOL isPlayed; @property(readonly, nonatomic) unsigned long long playbackType; @property(readonly, nonatomic) NSString *pluginSessionGUID; @property(readonly, nonatomic) BOOL isDataSourceInitialized; - (id)_initWithItem:(id)arg1 initialPayload:(id)arg2 messagePartRange:(struct _NSRange)arg3 parentChatHasKnownParticipants:(BOOL)arg4; - (id)copyWithZone:(struct _NSZone *)arg1; @property(readonly, copy) NSString *description; @property(readonly, retain, nonatomic) NSString *type; // Remaining properties @property(readonly, copy) NSString *debugDescription; @property(readonly, nonatomic) BOOL isFromMe; @property(readonly) Class superclass; @end @interface IMTranscriptPluginBreadcrumbChatItem : IMTranscriptChatItem { IMBalloonPluginDataSource *_dataSource; NSString *_rawStatusText; NSString *_statusText; unsigned long long _optionFlags; } @property(readonly, nonatomic) unsigned long long optionFlags; // @synthesize optionFlags=_optionFlags; @property(readonly, nonatomic) NSString *statusText; // @synthesize statusText=_statusText; @property(readonly, nonatomic) NSString *rawStatusText; // @synthesize rawStatusText=_rawStatusText; @property(retain, nonatomic) IMBalloonPluginDataSource *dataSource; // @synthesize dataSource=_dataSource; @property(readonly, nonatomic) BOOL isFromMe; @property(readonly, retain, nonatomic) NSString *type; - (void)configureStatusTextWithAccount:(id)arg1; - (BOOL)isEqual:(id)arg1; - (id)_initWithItem:(id)arg1 datasource:(id)arg2 statusText:(id)arg3 optionFlags:(unsigned long long)arg4; // Remaining properties @property(readonly, copy) NSString *debugDescription; @property(readonly, copy) NSString *description; @property(readonly) Class superclass; @end @interface IMAttachmentMessagePartChatItem : IMMessagePartChatItem { NSString *_transferGUID; unsigned int _wantsAttachmentContiguous:1; BOOL _parentChatIsSpam; } @property(readonly, nonatomic) BOOL parentChatIsSpam; // @synthesize parentChatIsSpam=_parentChatIsSpam; @property(readonly, copy, nonatomic) NSString *transferGUID; // @synthesize transferGUID=_transferGUID; - (id)_initWithItem:(id)arg1 text:(id)arg2 index:(long long)arg3 messagePartRange:(struct _NSRange)arg4 transferGUID:(id)arg5 parentChatIsSpam:(BOOL)arg6 visibleAssociatedMessageChatItems:(id)arg7; - (id)_initWithItem:(id)arg1 text:(id)arg2 index:(long long)arg3 messagePartRange:(struct _NSRange)arg4 transferGUID:(id)arg5 parentChatIsSpam:(BOOL)arg6; - (BOOL)isAttachmentContiguousWithChatItem:(id)arg1; - (id)copyWithZone:(struct _NSZone *)arg1; - (id)description; @end @interface IMAnimatedEmojiMessagePartChatItem : IMAttachmentMessagePartChatItem { } - (BOOL)isAttachmentContiguousWithChatItem:(id)arg1; @end @interface IMErrorMessagePartChatItem : IMAttachmentMessagePartChatItem { } @end @interface IMExpirableMessageChatItem : IMAttachmentMessagePartChatItem { } @property(readonly, nonatomic) BOOL isSaved; @property(readonly, nonatomic) BOOL isPlayed; @end @interface IMAudioMessageChatItem : IMExpirableMessageChatItem { } - (BOOL)isAttachmentContiguousWithChatItem:(id)arg1; @end @interface IMTypingChatItem : IMMessageChatItem { } - (id)_initWithItem:(id)arg1; @end @interface IMTypingPluginChatItem : IMTypingChatItem { NSData *_typingIndicatorIcon; IMBalloonPluginDataSource *_dataSource; } @property(retain, nonatomic) IMBalloonPluginDataSource *dataSource; // @synthesize dataSource=_dataSource; @property(readonly, nonatomic) NSData *typingIndicatorIcon; // @synthesize typingIndicatorIcon=_typingIndicatorIcon; - (id)_initWithItem:(id)arg1 dataSource:(id)arg2; @property(readonly, retain, nonatomic) NSString *type; // Remaining properties @property(readonly, copy) NSString *debugDescription; @property(readonly, copy) NSString *description; @property(readonly, nonatomic) BOOL isFromMe; @property(readonly) Class superclass; @end @interface IMLocatingChatItem : IMMessageChatItem { } - (id)_initWithItem:(id)arg1; @end @interface IMEmoteMessageChatItem : IMMessageChatItem { } - (id)_initWithItem:(id)arg1; @property(readonly, copy, nonatomic) NSAttributedString *text; @end @interface IMMessageStatusChatItem : IMTranscriptChatItem { long long _statusType; NSDate *_time; long long _expireStatusType; NSDate *_timeAdded; NSDate *_timeStale; unsigned long long _count; } @property(readonly, nonatomic) unsigned long long count; // @synthesize count=_count; @property(readonly, nonatomic) long long expireStatusType; // @synthesize expireStatusType=_expireStatusType; @property(readonly, nonatomic) NSDate *time; // @synthesize time=_time; @property(readonly, nonatomic) long long statusType; // @synthesize statusType=_statusType; - (id)_initWithItem:(id)arg1 statusType:(long long)arg2 time:(id)arg3 count:(unsigned long long)arg4 expireStatusType:(long long)arg5; - (id)_initWithItem:(id)arg1 expireStatusType:(long long)arg2 count:(unsigned long long)arg3; - (id)_initWithItem:(id)arg1 statusType:(long long)arg2 time:(id)arg3 count:(unsigned long long)arg4; @property(readonly, nonatomic) long long messageStatusType; @property(readonly, nonatomic) NSString *errorText; @property(readonly, nonatomic) BOOL isFromMe; - (void)_setTimeAdded:(id)arg1; - (id)_timeAdded; - (id)_timeStale; - (id)copyWithZone:(struct _NSZone *)arg1; - (id)description; @end @interface IMMessageEffectControlChatItem : IMMessageStatusChatItem { NSString *_effectStyleID; } @property(readonly, copy, nonatomic) NSString *effectStyleID; // @synthesize effectStyleID=_effectStyleID; - (id)_initWithItem:(id)arg1 effectStyleID:(id)arg2; @end @interface IMMessageAttributionChatItem : IMMessageStatusChatItem { NSDictionary *_attributionInfo; long long _attributionType; } @property(readonly, nonatomic) long long attributionType; // @synthesize attributionType=_attributionType; @property(readonly, copy, nonatomic) NSDictionary *attributionInfo; // @synthesize attributionInfo=_attributionInfo; @property(readonly, copy, nonatomic) NSString *bundleID; - (id)_initWithItem:(id)arg1 attributionInfo:(id)arg2 attributionType:(long long)arg3; @end @interface IMTranscriptPluginStatusChatItem : IMMessageStatusChatItem { IMBalloonPluginDataSource *_dataSource; } @property(readonly, nonatomic) IMBalloonPluginDataSource *dataSource; // @synthesize dataSource=_dataSource; - (id)_initWithItem:(id)arg1 dataSource:(id)arg2; @end @interface IMGroupActionChatItem : IMTranscriptChatItem { IMHandle *_sender; } @property(readonly, nonatomic) IMHandle *sender; // @synthesize sender=_sender; - (id)_initWithItem:(id)arg1 sender:(id)arg2; @property(readonly, nonatomic) long long actionType; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMGroupTitleChangeChatItem : IMTranscriptChatItem { IMHandle *_sender; } @property(readonly, nonatomic) IMHandle *sender; // @synthesize sender=_sender; - (id)_initWithItem:(id)arg1 sender:(id)arg2; @property(readonly, copy, nonatomic) NSString *title; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMParticipantChangeChatItem : IMTranscriptChatItem { IMHandle *_sender; IMHandle *_otherHandle; } @property(readonly, nonatomic) IMHandle *otherHandle; // @synthesize otherHandle=_otherHandle; @property(readonly, nonatomic) IMHandle *sender; // @synthesize sender=_sender; - (id)_initWithItem:(id)arg1 sender:(id)arg2 otherHandle:(id)arg3; @property(readonly, nonatomic) long long changeType; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMLocationShareActionChatItem : IMTranscriptChatItem { IMHandle *_sender; IMHandle *_otherHandle; } @property(readonly, nonatomic) IMHandle *otherHandle; // @synthesize otherHandle=_otherHandle; @property(readonly, nonatomic) IMHandle *sender; // @synthesize sender=_sender; - (id)_initWithItem:(id)arg1 sender:(id)arg2 otherHandle:(id)arg3; @property(readonly, nonatomic) long long direction; @property(readonly, nonatomic) long long actionType; @property(readonly, nonatomic) BOOL isFromMe; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMTUConversationChatItem : IMTranscriptChatItem { IMHandle *_conversationInitiator; } @property(readonly, nonatomic) IMHandle *conversationInitiator; // @synthesize conversationInitiator=_conversationInitiator; - (BOOL)canDelete; @property(readonly, nonatomic) NSDate *time; @property(readonly, nonatomic) BOOL isFromMe; // @property(readonly, nonatomic) __weak TUConversation *tuConversation; @property(readonly, nonatomic) NSUUID *tuConversationUUID; - (id)activeCall; - (id)_initWithItem:(id)arg1 conversationInitiator:(id)arg2; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMMessageActionChatItem : IMTranscriptChatItem { IMHandle *_sender; IMHandle *_otherHandle; } @property(readonly, nonatomic) IMHandle *otherHandle; // @synthesize otherHandle=_otherHandle; @property(readonly, nonatomic) IMHandle *sender; // @synthesize sender=_sender; - (id)_initWithItem:(id)arg1 sender:(id)arg2 otherHandle:(id)arg3; @property(readonly, nonatomic) long long actionType; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMAssociatedMessageChatItem : IMTranscriptChatItem { struct IMAssociatedMessageGeometryDescriptor _geometryDescriptor; BOOL _parentMessageIsFromMe; IMHandle *_sender; } @property(readonly, nonatomic) IMHandle *sender; // @synthesize sender=_sender; @property(readonly, nonatomic) struct IMAssociatedMessageGeometryDescriptor geometryDescriptor; // @synthesize geometryDescriptor=_geometryDescriptor; @property(readonly, nonatomic) NSDictionary *messageSummaryInfo; @property(readonly, nonatomic) BOOL failed; - (void)_setParentMessageIsFromMe:(BOOL)arg1; @property(readonly, nonatomic) BOOL parentMessageIsFromMe; @property(readonly, nonatomic) struct _NSRange associatedMessageRange; @property(readonly, nonatomic) long long associatedMessageType; @property(readonly, nonatomic) NSString *associatedMessageGUID; @property(readonly, nonatomic) BOOL isFromMe; @property(readonly, nonatomic) NSDate *time; - (id)message; - (id)_imAssociatedMessageItem; - (id)_initWithItem:(id)arg1 sender:(id)arg2; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMMessageEditChatItem : IMAssociatedMessageChatItem { NSArray *_visibleAssociatedMessageChatItems; } @property(retain, nonatomic, setter=_setVisibleAssociatedMessageChatItems:) NSArray *visibleAssociatedMessageChatItems; // @synthesize visibleAssociatedMessageChatItems=_visibleAssociatedMessageChatItems; @property(readonly, retain, nonatomic) NSAttributedString *editedBody; // Remaining properties @property(readonly, copy) NSString *debugDescription; @property(readonly, copy) NSString *description; @property(readonly) Class superclass; @end @interface IMMessageAcknowledgmentChatItem : IMAssociatedMessageChatItem { long long _messageAcknowledgmentType; } @property(readonly, nonatomic) long long messageAcknowledgmentType; // @synthesize messageAcknowledgmentType=_messageAcknowledgmentType; - (id)_initWithItem:(id)arg1 sender:(id)arg2 messageAcknowledgmentType:(long long)arg3; - (id)copyWithZone:(struct _NSZone *)arg1; @end @interface IMAssociatedStickerChatItem : IMAssociatedMessageChatItem { NSString *_transferGUID; } @property(readonly, copy, nonatomic) NSString *transferGUID; // @synthesize transferGUID=_transferGUID; - (id)_initWithItem:(id)arg1 sender:(id)arg2 transferGUID:(id)arg3; - (BOOL)canDelete; - (id)copyWithZone:(struct _NSZone *)arg1; - (id)description; @end @interface IMAggregateAcknowledgmentChatItem : IMAssociatedMessageChatItem { BOOL _latestIsFromMe; BOOL _includesMultiple; NSArray *_acknowledgments; IMMessageAcknowledgmentChatItem *_fromMeAcknowledgement; long long _latestAcknowledgmentType; } @property(readonly, nonatomic) long long latestAcknowledgmentType; // @synthesize latestAcknowledgmentType=_latestAcknowledgmentType; @property(readonly, nonatomic) BOOL includesMultiple; // @synthesize includesMultiple=_includesMultiple; @property(readonly, nonatomic) BOOL latestIsFromMe; // @synthesize latestIsFromMe=_latestIsFromMe; @property(readonly, nonatomic) IMMessageAcknowledgmentChatItem *fromMeAcknowledgement; // @synthesize fromMeAcknowledgement=_fromMeAcknowledgement; @property(readonly, copy, nonatomic) NSArray *acknowledgments; // @synthesize acknowledgments=_acknowledgments; - (id)copyWithZone:(struct _NSZone *)arg1; - (BOOL)isEqual:(id)arg1; - (unsigned long long)hash; - (id)_initWithAcknowledgments:(id)arg1; @property(readonly, nonatomic) BOOL includesFromMe; @end @interface IMExpressiveSendAsTextChatItem : IMTranscriptChatItem { NSString *_text; } @property(readonly, copy, nonatomic) NSString *text; // @synthesize text=_text; - (id)_initWithItem:(id)arg1 text:(id)arg2; @end @interface IMDaemonListener : NSObject { NSMutableDictionary *_properties; NSMutableDictionary *_persistentProperties; NSMutableArray *_deferredChatMessages; NSMutableArray *_handlers; NSProtocolChecker *_protocol; NSMutableDictionary *_services; NSDate *_myIdleSince; NSData *_myPicture; NSMutableDictionary *_contexts; NSString *_myStatusMessage; NSString *_myNowPlayingString; unsigned long long _myStatus; unsigned long long _vcCapabilities; BOOL _setupComplete; BOOL _postedSetupComplete; BOOL _holdingChatMessages; BOOL _hidingDisconnect; BOOL _hasPendingProcessChange; } @property(readonly, nonatomic) NSDictionary *persistentProperties; // @synthesize persistentProperties=_persistentProperties; @property(readonly, nonatomic) NSDictionary *properties; // @synthesize properties=_properties; @property(readonly, nonatomic) BOOL hasPostedSetupComplete; // @synthesize hasPostedSetupComplete=_postedSetupComplete; @property(readonly, nonatomic) BOOL shouldHoldChatMessages; // @synthesize shouldHoldChatMessages=_holdingChatMessages; @property(readonly, nonatomic) unsigned long long vcCapabilities; // @synthesize vcCapabilities=_vcCapabilities; @property(readonly, nonatomic) NSString *myStatusMessage; // @synthesize myStatusMessage=_myStatusMessage; @property(readonly, nonatomic) BOOL isSetupComplete; // @synthesize isSetupComplete=_setupComplete; @property(readonly, nonatomic) NSArray *handlers; // @synthesize handlers=_handlers; @property(nonatomic, setter=_setHidingDisconnect:) BOOL _hidingDisconnect; // @synthesize _hidingDisconnect; @property(readonly, nonatomic) NSMutableDictionary *_contexts; // @synthesize _contexts; - (void)oneTimeCodesDidChange:(id)arg1; - (void)receivedUrgentRequestForMessages:(id)arg1; - (void)returnMOCEnabledState:(unsigned long long)arg1; - (void)updateCloudKitStateWithDictionary:(id)arg1; - (void)updateCloudKitState; - (void)didAttemptToDisableAllDevicesResult:(BOOL)arg1; - (void)didPerformAdditionalStorageRequiredCheckWithSuccess:(BOOL)arg1 additionalStorageRequired:(unsigned long long)arg2 forAccountId:(id)arg3 error:(id)arg4; - (void)didAttemptToSetEnabledTo:(BOOL)arg1 result:(BOOL)arg2; - (void)qosClassWhileServicingRequestsResponse:(unsigned int)arg1 identifier:(id)arg2; - (void)forwardInvocation:(id)arg1; - (id)methodSignatureForSelector:(SEL)arg1; - (void)didFetchCloudKitSyncDebuggingInfo:(id)arg1; - (void)didAttemptToDisableiCloudBackups:(long long)arg1 error:(id)arg2; - (void)didFetchRampState:(id)arg1; - (void)didFetchSyncStateStats:(id)arg1; - (void)databaseChatSpamUpdated:(id)arg1; - (void)databaseNoLongerFull; - (void)databaseFull; - (void)databaseUpdated:(id)arg1; - (void)_deferredSetup:(id)arg1; - (void)setupComplete:(BOOL)arg1 info:(id)arg2; - (void)account:(id)arg1 defaults:(id)arg2 blockList:(id)arg3 allowList:(id)arg4 blockingMode:(unsigned int)arg5 blockIdleStatus:(BOOL)arg6 status:(id)arg7 capabilities:(unsigned long long)arg8 serviceLoginStatus:(unsigned int)arg9 loginStatusMessage:(id)arg10; - (void)service:(id)arg1 properties:(id)arg2 defaults:(id)arg3 defaultAccountSettings:(id)arg4 allAccounts:(id)arg5 activeAccounts:(id)arg6; - (void)services:(id)arg1 properties:(id)arg2 persistentProperties:(id)arg3; - (void)account:(id)arg1 status:(id)arg2 capabilities:(unsigned long long)arg3 serviceLoginStatus:(unsigned int)arg4 loginStatusMessage:(id)arg5; - (void)persistentProperty:(id)arg1 changedTo:(id)arg2 from:(id)arg3; - (void)_cacheValue:(id)arg1 forPersistentProperty:(id)arg2; - (id)valueOfPersistentProperty:(id)arg1; - (void)property:(id)arg1 changedTo:(id)arg2 from:(id)arg3; - (void)_cacheValue:(id)arg1 forProperty:(id)arg2; - (id)valueOfProperty:(id)arg1; - (id)_stampForContext:(id)arg1; - (void)_setStamp:(id)arg1 forContext:(id)arg2; - (void)account:(id)arg1 postedError:(id)arg2; - (void)account:(id)arg1 blockIdleStatusChanged:(BOOL)arg2; - (void)account:(id)arg1 blockingModeChanged:(unsigned int)arg2; - (void)account:(id)arg1 allowListChanged:(id)arg2; - (void)account:(id)arg1 blockListChanged:(id)arg2; - (void)account:(id)arg1 handleSubscriptionRequestFrom:(id)arg2 withMessage:(id)arg3; - (void)account:(id)arg1 groupsChanged:(id)arg2 error:(id)arg3; - (void)fileTransferHighQualityDownloadFailed:(id)arg1; - (void)fileTransfer:(id)arg1 highQualityDownloadSucceededWithPath:(id)arg2; - (void)fileTransfer:(id)arg1 updatedWithCurrentBytes:(unsigned long long)arg2 totalBytes:(unsigned long long)arg3 averageTransferRate:(unsigned long long)arg4; - (void)fileTransfer:(id)arg1 updatedWithProperties:(id)arg2; - (void)fileTransfers:(id)arg1 createdWithLocalPaths:(id)arg2; - (void)fileTransfer:(id)arg1 createdWithProperties:(id)arg2; - (void)standaloneFileTransferRegistered:(id)arg1; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 messagesReceived:(id)arg5; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 messageReceived:(id)arg5; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 invitationReceived:(id)arg5; - (void)account:(id)arg1 buddyInfo:(id)arg2 commandDelivered:(id)arg3 properties:(id)arg4; - (void)account:(id)arg1 buddyInfo:(id)arg2 commandReceived:(id)arg3 properties:(id)arg4; - (void)account:(id)arg1 buddyProperties:(id)arg2 buddyPictures:(id)arg3; - (void)pinCodeAlertCompleted:(id)arg1 deviceName:(id)arg2 deviceType:(id)arg3 phoneNumber:(id)arg4 responseFromDevice:(BOOL)arg5 wasCancelled:(BOOL)arg6; - (void)displayPinCodeForAccount:(id)arg1 pinCode:(id)arg2 deviceName:(id)arg3 deviceType:(id)arg4 phoneNumber:(id)arg5; - (void)account:(id)arg1 buddyPictureChanged:(id)arg2 imageData:(id)arg3 imageHash:(id)arg4; - (void)account:(id)arg1 buddyPropertiesChanged:(id)arg2; - (void)vcCapabilitiesChanged:(unsigned long long)arg1; - (void)account:(id)arg1 capabilitiesChanged:(unsigned long long)arg2; - (void)account:(id)arg1 statusChanged:(id)arg2; - (void)account:(id)arg1 loginStatusChanged:(unsigned int)arg2 message:(id)arg3 reason:(int)arg4 properties:(id)arg5; - (void)accountRemoved:(id)arg1; - (void)accountAdded:(id)arg1 defaults:(id)arg2 service:(id)arg3; - (void)account:(id)arg1 defaultsChanged:(id)arg2; - (void)activeAccountsChanged:(id)arg1 forService:(id)arg2; - (void)defaultsChanged:(id)arg1 forService:(id)arg2; - (void)releaseHeldChatMessages; - (void)holdChatMessages; @property(readonly, nonatomic) BOOL isHoldingChatMessages; - (void)_deferNotification:(id)arg1; - (void)_processDeferredInvitationDictionary:(id)arg1; @property(readonly, nonatomic) unsigned int myIdleTime; @property(readonly, nonatomic) unsigned long long myStatus; - (void)_processMyStatusChanged; - (void)_reallyProcessMyStatusChanged; - (id)serviceWithName:(id)arg1; @property(readonly, nonatomic) NSArray *allServices; - (void)removeHandler:(id)arg1; - (void)addHandler:(id)arg1; - (void)_noteDisconnected; - (id)init; @end @interface IMDaemonController : NSObject { id _delegate; // IMRemoteObject *_remoteObject; NSMutableDictionary *_listenerMap; // IMLocalObject *_localObject; IMDaemonListener *_daemonListener; NSMutableArray *_services; NSProtocolChecker *_protocol; NSString *_listenerID; NSObject *_listenerLockQueue; NSObject *_remoteDaemonLockQueue; NSObject *_localObjectLockQueue; NSObject *_remoteMessageQueue; NSRecursiveLock *_connectionLock; NSArray *_servicesToAllow; NSArray *_servicesToDeny; struct __CFRunLoopSource *_runLoopSource; NSLock *_blockingLock; BOOL _hasCheckedForDaemon; BOOL _preventReconnect; BOOL _inBlockingConnect; BOOL _acquiringDaemonConnection; BOOL _autoReconnect; BOOL _blocksConnectionAtResume; BOOL _hasBeenSuspended; unsigned int _gMyFZListenerCapabilities; unsigned int _cachedCapabilities; unsigned int _lastUpdatedCapabilities; BOOL _requestingConnection; NSMutableDictionary *_requestQOSClassCompletionBlocks; CDUnknownBlockType _prewarmingBlock; } + (void)_setApplicationWillTerminate; + (void)_blockUntilSendQueueIsEmpty; + (BOOL)_applicationWillTerminate; + (id)sharedController; + (id)sharedInstance; @property(copy, nonatomic) CDUnknownBlockType prewarmingBlock; // @synthesize prewarmingBlock=_prewarmingBlock; @property(retain, nonatomic) NSMutableDictionary *requestQOSClassCompletionBlocks; // @synthesize requestQOSClassCompletionBlocks=_requestQOSClassCompletionBlocks; @property(readonly, nonatomic, getter=isRequestingConnection) BOOL requestingConnection; // @synthesize requestingConnection=_requestingConnection; @property(readonly, nonatomic) NSObject *_remoteMessageQueue; // @synthesize _remoteMessageQueue; @property(retain, setter=_setServicesToDeny:) NSArray *_servicesToDeny; // @synthesize _servicesToDeny; @property(retain, setter=_setServicesToAllow:) NSArray *_servicesToAllow; // @synthesize _servicesToAllow; @property(setter=__setCapabilities:) unsigned int _capabilities; // @synthesize _capabilities=_gMyFZListenerCapabilities; @property(setter=_setAutoReconnect:) BOOL _autoReconnect; // @synthesize _autoReconnect; @property(retain, nonatomic, setter=_setListenerID:) NSString *_listenerID; // @synthesize _listenerID; @property(nonatomic) __weak id delegate; // @synthesize delegate=_delegate; @property(nonatomic, setter=_setBlocksConnectionAtResume:) BOOL _blocksConnectionAtResume; // @synthesize _blocksConnectionAtResume; @property(readonly, nonatomic) IMDaemonListener *listener; // @synthesize listener=_daemonListener; - (void)systemApplicationDidResume; - (void)systemApplicationWillEnterForeground; - (void)systemApplicationDidEnterBackground; - (void)systemApplicationDidSuspend; - (void)forwardInvocation:(id)arg1; - (id)methodSignatureForSelector:(SEL)arg1; - (void)setDaemonLogsOutWithoutStatusListeners:(BOOL)arg1; - (void)setDaemonTerminatesWithoutListeners:(BOOL)arg1; - (void)listener:(id)arg1 setValue:(id)arg2 ofPersistentProperty:(id)arg3; - (void)listener:(id)arg1 setValue:(id)arg2 ofProperty:(id)arg3; - (void)remoteObjectDiedNotification:(id)arg1; - (void)localObjectDiedNotification:(id)arg1; - (void)_setCapabilities:(unsigned int)arg1; @property(readonly, nonatomic) unsigned int capabilities; - (void)listener:(id)arg1 setListenerCapabilities:(unsigned int)arg2; - (void)_remoteObjectCleanup; - (void)_localObjectCleanup; - (BOOL)localObjectExists; - (BOOL)remoteObjectExists; - (BOOL)__isRemoteObjectValidOnQueue:(id)arg1; - (BOOL)__isLocalObjectValidOnQueue:(id)arg1; - (void)_noteSetupComplete; - (void)blockUntilConnected; - (double)_connectionTimeout; @property(readonly, nonatomic) BOOL isConnected; @property(readonly, nonatomic) BOOL isConnecting; - (BOOL)_acquiringDaemonConnection; - (void)_addressBookChanged:(id)arg1; - (void)setMyStatus:(unsigned long long)arg1 message:(id)arg2 forAccount:(id)arg3; - (void)setMyStatus:(unsigned long long)arg1 message:(id)arg2; - (void)setMyPicture:(id)arg1 smallPictureData:(id)arg2; - (id)_remoteObject; - (BOOL)setCapabilities:(unsigned int)arg1 forListenerID:(id)arg2; - (unsigned int)capabilitiesForListenerID:(id)arg1; - (BOOL)removeListenerID:(id)arg1; - (BOOL)hasListenerForID:(id)arg1; - (BOOL)addListenerID:(id)arg1 capabilities:(unsigned int)arg2; - (void)_listenerSetUpdated; - (void)sendABInformationToDaemon; - (BOOL)connectToDaemonWithLaunch:(BOOL)arg1 capabilities:(unsigned int)arg2 blockUntilConnected:(BOOL)arg3; - (BOOL)connectToDaemon; - (BOOL)connectToDaemonWithLaunch:(BOOL)arg1; - (void)_connectToDaemonWithLaunch:(BOOL)arg1 capabilities:(unsigned int)arg2; - (void)disconnectFromDaemon; - (void)_disconnectFromDaemonWithForce:(BOOL)arg1; - (void)disconnectFromDaemonWithForce:(BOOL)arg1; - (void)killDaemon; - (void)_blockUntilSendQueueIsEmpty; - (BOOL)_makeConnectionWithLaunch:(BOOL)arg1 completionBlock:(CDUnknownBlockType)arg2; - (void)_handleDaemonException:(id)arg1; - (void)_agentDidLaunchNotification:(id)arg1; - (void)dealloc; - (void)_handleReceivedQOSClassWhileServicingRequestsNotification:(id)arg1; - (void)requestQOSClassOfAgentWhileServicingRequests:(CDUnknownBlockType)arg1; - (id)init; @end @interface IMAutomation : NSObject { } - (id)startConversationFrom:(id)arg1 andReceiveAt:(id)arg2; - (id)IMCoreAutomationPerformOperationWithDictionary:(id)arg1; - (id)callIMCoreMethodWithDictionary:(id)arg1; - (_Bool)checkArgumentValidity:(id)arg1 forExpectedNumberOfArguments:(int)arg2; @end @interface IMAccountController : NSObject { NSMutableDictionary *_accountMap; BOOL _isReadOnly; BOOL _cachesEnabled; NSArray *_operationalAccountsCache; NSMutableDictionary *_serviceToActiveAccountsMap; NSMutableDictionary *_serviceToAccountsMap; NSMutableDictionary *_serviceToConnectedAccountsMap; NSMutableDictionary *_serviceToOperationalAccountsMap; NSArray *_accounts; } + (id)bestAccountFromAccounts:(id)arg1; + (id)sharedInstance; @property(copy) NSArray *accounts; // @synthesize accounts=_accounts; - (void)_rebuildOperationalAccountsCache:(BOOL)arg1; - (void)_disableCache; - (void)_enableCache; - (id)jabberAccount; - (id)aimAccount; - (id)mostLoggedInAccount; - (id)bestAccountWithCapability:(unsigned long long)arg1; - (id)bestConnectedAccountForService:(id)arg1; - (id)bestActiveAccountForService:(id)arg1; - (id)bestOperationalAccountForService:(id)arg1; - (id)bestAccountForService:(id)arg1; - (id)bestConnectedAccountForService:(id)arg1 withLogin:(id)arg2; - (id)bestActiveAccountForService:(id)arg1 withLogin:(id)arg2; - (id)bestOperationalAccountForService:(id)arg1 withLogin:(id)arg2; - (id)bestAccountForService:(id)arg1 withLogin:(id)arg2; - (id)bestAccountForService:(id)arg1 login:(id)arg2 guid:(id)arg3; - (id)activeAccountsSupportingStatus; @property(readonly, nonatomic) id bestAccountForStatus; - (BOOL)canActivateAccounts:(id)arg1; - (BOOL)canActivateAccount:(id)arg1; - (BOOL)accountConnected:(id)arg1; - (BOOL)accountConnecting:(id)arg1; - (BOOL)activateAndHandleReconnectAccount:(id)arg1; - (BOOL)activateAndHandleReconnectAccounts:(id)arg1; - (BOOL)activateAccount:(id)arg1 force:(BOOL)arg2 locally:(BOOL)arg3; - (BOOL)activateAccount:(id)arg1 force:(BOOL)arg2; - (BOOL)activateAccount:(id)arg1; - (BOOL)activateAccount:(id)arg1 locally:(BOOL)arg2; - (BOOL)activateAccounts:(id)arg1; - (BOOL)activateAccounts:(id)arg1 force:(BOOL)arg2 locally:(BOOL)arg3; - (BOOL)deactivateAccount:(id)arg1 withDisable:(BOOL)arg2; - (BOOL)deactivateAccounts:(id)arg1; - (BOOL)_deactivateAccounts:(id)arg1; - (BOOL)deactivateAccount:(id)arg1; - (BOOL)_deactivateAccount:(id)arg1; - (BOOL)deactivateAccounts:(id)arg1 withDisable:(BOOL)arg2; - (BOOL)deleteAccount:(id)arg1 locally:(BOOL)arg2; - (BOOL)deleteAccount:(id)arg1; - (BOOL)addAccount:(id)arg1 locally:(BOOL)arg2; - (BOOL)addAccount:(id)arg1 atIndex:(int)arg2 locally:(BOOL)arg3; - (BOOL)addAccount:(id)arg1 atIndex:(int)arg2; - (BOOL)addAccount:(id)arg1; - (void)_accountRegistrationStatusChanged:(id)arg1; - (void)_activeAccountChanged:(id)arg1; - (void)setReadOnly:(BOOL)arg1; - (BOOL)readOnly; - (BOOL)accountActive:(id)arg1; - (BOOL)canDeleteAccount:(id)arg1; - (id)connectedAccountsWithCapability:(unsigned long long)arg1; - (id)operationalAccountsWithCapability:(unsigned long long)arg1; - (id)accountsWithCapability:(unsigned long long)arg1; - (id)connectedAccountsForService:(id)arg1; - (id)operationalAccountsForService:(id)arg1; - (id)activeAccountsForService:(id)arg1; - (id)accountsForService:(id)arg1; @property(readonly, nonatomic) NSArray *operationalAccounts; @property(readonly, nonatomic) NSArray *connectedAccounts; @property(readonly, nonatomic) NSArray *activeAccounts; @property(readonly, nonatomic) int numberOfAccounts; - (id)accountAtIndex:(int)arg1; - (id)accountForUniqueID:(id)arg1; - (void)dealloc; - (id)init; - (void)autoLogin; @property(readonly, nonatomic) IMAccount *activeSMSAccount; @property(readonly, nonatomic) IMAccount *activeIMessageAccount; - (id)_bestOperationalAccountForSendingForService:(id)arg1; - (id)__iCloudSystemAccountForService:(id)arg1; - (id)_bestAccountForAddresses:(id)arg1; - (id)_operationalPhoneAccountForService:(id)arg1; @end @interface IMMessageAcknowledgmentStringHelper : NSObject { } + (id)generateBackwardCompatibilityStringForMessageAcknowledgmentType:(long long)arg1 messageSummaryInfo:(id)arg2; + (id)generateBackwardCompatibilityStringForMessageAcknowledgmentType:(long long)arg1 messageSummaryInfo:(id)arg2 isGroupMessage:(BOOL)arg3; + (id)generateBackwardCompatibilityFormatStringForMessageAcknowledgmentType:(long long)arg1 messageSummaryInfo:(id)arg2 format:(long long *)arg3; + (id)generatePreviewStringForMessageAcknowledgmentType:(long long)arg1 acknowledgmentSenderAddress:(id)arg2 messageSummaryInfo:(id)arg3; + (id)generatePreviewStringForMessageAcknowledgmentType:(long long)arg1 acknowledgmentSenderAddress:(id)arg2 messageSummaryInfo:(id)arg3 isGroupMessage:(BOOL)arg4; + (id)generateFormatStringForMessageAcknowledgmentType:(long long)arg1 acknowledgmentSenderAddress:(id)arg2 messageSummaryInfo:(id)arg3 format:(long long *)arg4; + (id)displayNameForAddress:(id)arg1; + (BOOL)isLoginAddress:(id)arg1; + (id)handleForAddress:(id)arg1; + (id)bestAccountForAddress:(id)arg1; + (id)longContentTypeStringForContentType:(id)arg1; + (id)longContentTypeStringForPluginBundleID:(id)arg1 pluginDisplayName:(id)arg2; + (BOOL)shouldQuoteContentString:(id)arg1; + (id)messageAcknowledgmentString:(long long)arg1 lowercase:(BOOL)arg2; @end @interface IMParentalControlsService : NSObject { BOOL _disableService; BOOL _forceWhiteList; NSSet *_whitelist; NSString *_name; } @property(retain) NSString *name; // @synthesize name=_name; @property(retain) NSSet *whitelist; // @synthesize whitelist=_whitelist; @property BOOL forceWhiteList; // @synthesize forceWhiteList=_forceWhiteList; @property BOOL disableService; // @synthesize disableService=_disableService; - (void)dealloc; @end @interface IMParentalControls : NSObject { BOOL _shouldPostNotifications; BOOL _active; BOOL _disableAV; BOOL _forceChatLogging; NSMutableDictionary *_parentalControls; } + (id)standardControls; + (id)objectForKey:(id)arg1; @property(readonly, nonatomic) BOOL _forceChatLogging; // @synthesize _forceChatLogging; @property(readonly, nonatomic) BOOL _disableAV; // @synthesize _disableAV; @property(readonly, nonatomic) NSMutableDictionary *_parentalControls; // @synthesize _parentalControls; @property(readonly, nonatomic) BOOL active; // @synthesize active=_active; @property(nonatomic) BOOL shouldPostNotifications; // @synthesize shouldPostNotifications=_shouldPostNotifications; - (BOOL)accountHasWhitelist:(id)arg1; - (BOOL)accountIsEnabled:(id)arg1; - (BOOL)okToConnectAccount:(id)arg1; - (BOOL)forceWhitelistForAccount:(id)arg1; - (id)whitelistForAccount:(id)arg1; - (BOOL)forceWhitelistForService:(id)arg1; - (id)whitelistForService:(id)arg1; - (BOOL)disableAccount:(id)arg1; - (BOOL)disableService:(id)arg1; @property(readonly, nonatomic) BOOL forceChatLogging; @property(readonly, nonatomic) BOOL disableAV; - (void)_managedPrefsNotification:(id)arg1; - (void)_updateParentalSettings; - (id)_serviceWithName:(id)arg1; - (void)dealloc; - (id)init; @end @interface IMFileTransferCenter : NSObject { NSMutableDictionary *_guidToTransferMap; NSMutableDictionary *_guidToRemovedTransferMap; NSMutableDictionary *_accountIDToTransferGUIDsMap; NSMutableArray *_preauthorizedInfos; NSMutableArray *_preauthorizedGUIDs; NSMutableSet *_activeTransfers; NSMutableSet *_pendingTransfers; BOOL _disconnectionListenerSetUp; NSMutableDictionary *_fetchHighQualityVariantCompletionHandlers; } + (Class)fileTransferClass; + (Class)transferCenterClass; + (void)setTransferCenterClass:(Class)arg1; + (id)sharedInstance; - (void)preWarmConnection; - (void)_daemonRestarted:(id)arg1; - (void)_initiateHighQualityVariantDownloadWithDaemonForGUID:(id)arg1; - (void)_fetchHighQualityVariantForTransferGUID:(id)arg1 completion:(CDUnknownBlockType)arg2; - (void)fetchHighQualityVariantForTransfer:(id)arg1 completion:(CDUnknownBlockType)arg2; - (id)guidsForStoredAttachmentPayloadData:(id)arg1 messageGUID:(id)arg2; - (void)setAuxVideoForTransfer:(id)arg1 value:(BOOL)arg2; - (void)setAuxImageForTransfer:(id)arg1 value:(BOOL)arg2; - (void)_handleFileTransferHighQualityDownloadFailed:(id)arg1; - (void)_handleFileTransfer:(id)arg1 highQualityDownloadSucceededWithPath:(id)arg2; - (void)_handleFileTransfer:(id)arg1 updatedWithCurrentBytes:(unsigned long long)arg2 totalBytes:(unsigned long long)arg3 averageTransferRate:(unsigned long long)arg4; - (void)_handleFileTransfer:(id)arg1 updatedWithProperties:(id)arg2; - (void)_handleFileTransfers:(id)arg1 createdWithLocalPaths:(id)arg2; - (void)_handleFileTransfer:(id)arg1 createdWithProperties:(id)arg2; - (void)_handleAllFileTransfers:(id)arg1; - (void)_handleStandaloneFileTransferRegistered:(id)arg1; - (void)acceptFileTransferIfPreauthorzed:(id)arg1; - (BOOL)wasFileTransferPreauthorized:(id)arg1; - (void)preauthorizeFileTransferFromOtherPerson:(id)arg1 account:(id)arg2 filename:(id)arg3 saveToPath:(id)arg4; - (BOOL)isFileTransfer:(id)arg1 preauthorizedWithDictionary:(id)arg2; - (void)clearFinishedTransfers; @property(readonly, nonatomic) NSArray *orderedTransfersGUIDs; @property(readonly, nonatomic) __weak NSArray *orderedTransfers; @property(readonly, nonatomic) NSArray *activeTransferGUIDs; @property(readonly, nonatomic) __weak NSArray *activeTransfers; @property(readonly, nonatomic) NSDictionary *transfers; - (id)transfersForAccount:(id)arg1; - (void)retargetTransfer:(id)arg1 toPath:(id)arg2; - (void)deleteTransfer:(id)arg1; - (void)removeTransfer:(id)arg1; - (void)stopTransfer:(id)arg1; - (void)acceptTransfer:(id)arg1; - (void)acceptTransfer:(id)arg1 withPath:(id)arg2 autoRename:(BOOL)arg3 overwrite:(BOOL)arg4; - (void)sendTransfer:(id)arg1; - (id)transferForGUID:(id)arg1 includeRemoved:(BOOL)arg2; - (id)transferForGUID:(id)arg1; - (id)chatForTransfer:(id)arg1; - (void)registerTransferWithDaemon:(id)arg1; - (void)assignTransfer:(id)arg1 toHandle:(id)arg2; - (void)assignTransfer:(id)arg1 toMessage:(id)arg2 account:(id)arg3; - (void)_addSpotlightProperties:(id)arg1 sender:(id)arg2 recipients:(id)arg3 incoming:(BOOL)arg4; - (BOOL)registerGUID:(id)arg1 forNewOutgoingTransferWithLocalURL:(id)arg2; - (id)guidForNewOutgoingTransferWithLocalURL:(id)arg1; - (BOOL)doesLocalURLRequireArchiving:(id)arg1 toHandle:(id)arg2; - (void)_addTransfer:(id)arg1; - (void)_addTransfer:(id)arg1 toAccount:(id)arg2; - (void)_clearTransfers; - (void)_removeAllActiveTransfers; - (void)_removeActiveTransfer:(id)arg1; - (void)_addActiveTransfer:(id)arg1; @property(readonly, nonatomic) BOOL hasActiveFileTransfers; - (void)acknowledgeAllPendingTransfers; - (void)acknowledgePendingTransfer:(id)arg1; - (void)_removePendingTransfer:(id)arg1; - (void)_addPendingTransfer:(id)arg1; @property(readonly, nonatomic) BOOL hasPendingFileTransfers; - (void)dealloc; @end @interface IMServiceAgent : NSObject { NSDictionary *_currentAVChatInfo; } + (id)notificationCenter; + (void)forgetStatusImageAppearance; + (id)imageNameForStatus:(unsigned long long)arg1; + (id)imageURLForStatus:(unsigned long long)arg1; + (id)sharedAgent; + (long long)serviceAgentCapabilities; + (void)setServiceAgentCapabilities:(long long)arg1; - (id)myPictureData; - (void)launchIfNecessary; @property(readonly, nonatomic) unsigned long long vcCapabilities; - (unsigned long long)requestVideoStillForPerson:(id)arg1; @property(readonly, nonatomic) unsigned long long requestAudioReflectorStop; @property(readonly, nonatomic) unsigned long long requestAudioReflectorStart; @property(readonly, nonatomic) __weak NSDictionary *currentAVChatInfo; @property(retain, nonatomic) NSArray *myAwayMessages; @property(retain, nonatomic) NSArray *myAvailableMessages; - (void)setMyStatus:(unsigned long long)arg1 message:(id)arg2; - (id)notificationCenter; - (id)serviceWithNameNonBlocking:(id)arg1; - (id)serviceWithName:(id)arg1; @end @interface IMServiceAgentImpl : IMServiceAgent { } + (id)imageURLForStatus:(unsigned long long)arg1; + (id)imageNameForStatus:(unsigned long long)arg1; + (void)_determineStatusImageAppearance; + (void)_statusImageAppearanceChanged:(id)arg1; + (void)forgetStatusImageAppearance; + (id)notificationCenter; + (void)initialize; + (id)sharedAgent; - (unsigned long long)vcCapabilities; - (void)vcCapabilitiesChanged:(unsigned long long)arg1; - (void)setupComplete; - (void)setMyAwayMessages:(id)arg1; - (void)setMyAvailableMessages:(id)arg1; - (id)myAwayMessages; - (id)myAvailableMessages; - (void)_customMessagesChanged:(id)arg1; - (void)setMyStatus:(unsigned long long)arg1 message:(id)arg2; - (void)_statusImageAppearanceChanged:(id)arg1; - (id)notificationCenter; - (id)serviceWithName:(id)arg1; - (void)launchIfNecessary; - (void)_daemonDisconnected:(id)arg1; - (void)_daemonConnected:(id)arg1; - (void)dealloc; - (id)init; @end @interface IMAppExtensionContext : NSExtensionContext { } @end @interface IMHandleRegistrar : NSObject { NSMutableDictionary *_siblingsMap; NSHashTable *_allIMHandles; BOOL _addressBookIsEmpty; // IMBusinessNameManager *_businessNameManager; } + (id)sharedInstance; - (id)businessNameForUID:(id)arg1 updateHandler:(CDUnknownBlockType)arg2; - (id)_existingChatSiblingsForHandle:(id)arg1; - (BOOL)_addressBookIsEmpty; - (id)_chatSiblingsForHandle:(id)arg1; - (id)_existingAccountSiblingsForHandle:(id)arg1; - (id)_accountSiblingsForHandle:(id)arg1; - (void)_dumpOutAllIMHandlesForAccount:(id)arg1; - (void)_dumpOutAllIMHandles; - (id)allIMHandles; - (id)siblingsForIMHandle:(id)arg1; - (void)clearSiblingCacheForIMHandle:(id)arg1; - (void)unregisterIMHandle:(id)arg1; - (void)registerIMHandle:(id)arg1; - (void)_clearSiblingsCacheForIMHandle:(id)arg1 rebuildAfter:(BOOL)arg2; - (void)_buildSiblingsForIMHandle:(id)arg1; - (void)_emptySiblingCacheForIMHandleGUID:(id)arg1; - (id)init; - (void)_addressBookChanged:(id)arg1; @end @interface IMPeople : NSObject { NSMutableArray *_people; int _coalesceCount; BOOL _hidePeople; } @property(nonatomic, setter=setShouldHidePeople:) BOOL hidePeople; // @synthesize hidePeople=_hidePeople; - (void)imHandle:(id)arg1 buddyStatusChanged:(BOOL)arg2; - (BOOL)addPeopleFromArray:(id)arg1; - (BOOL)addPeopleFromArray:(id)arg1 skipMe:(BOOL)arg2; - (BOOL)removePeopleFromArray:(id)arg1; - (BOOL)removeIMHandle:(id)arg1; - (BOOL)addIMHandle:(id)arg1; @property(readonly, nonatomic) BOOL coalescingChanges; - (void)endCoalescedChanges; - (void)beginCoalescedChanges; - (void)removedIMHandle:(id)arg1; - (void)_addedPeople:(id)arg1; - (void)addedIMHandle:(id)arg1; @property(readonly, nonatomic) NSArray *people; @property(readonly, nonatomic) NSArray *groups; - (BOOL)containsIMHandle:(id)arg1; @property(readonly, nonatomic) unsigned long long count; - (void)addNotificationObserver:(id)arg1 selector:(SEL)arg2; - (void)removeNotificationObserver:(id)arg1; - (void)dealloc; @end @interface IMPeopleCollection : IMPeople { NSMutableArray *_collectedPeople; } @property(retain, nonatomic) NSMutableArray *_collectedPeople; // @synthesize _collectedPeople; - (BOOL)containsPerson:(id)arg1; - (id)groups; - (id)people; - (void)_collectionNotification:(id)arg1; - (void)removeIMPeople:(id)arg1; - (void)addIMPeople:(id)arg1; - (BOOL)collectsIMPeople:(id)arg1; @property(readonly, nonatomic) NSArray *collectedIMPeople; - (id)init; @end @interface IMCloudKitMockSyncState : NSObject { BOOL _IMCloudKitSyncingEnabled; BOOL _IMCloudKitIsSyncing; BOOL _IMCloudKitSyncPaused; BOOL _IMCloudKitIsEligibleForTruthZone; BOOL _IMCloudKitIsInExitState; BOOL _IMCloudKitIsRemovedFromBackup; BOOL _IMCloudKitStartingPeriodicSync; BOOL _IMCloudKitStartingInitialSync; BOOL _IMCloudKitStartingDisableDevices; NSDate *_IMCloudKitSyncDate; long long _IMCloudKitStartingEnabledSettingChange; unsigned long long _IMCloudKitSyncControllerSyncState; long long _IMCloudKitSyncControllerSyncType; long long _IMCloudKitSyncControllerSyncRecordType; NSArray *_IMCloudKitSyncErrors; } @property(retain) NSArray *IMCloudKitSyncErrors; // @synthesize IMCloudKitSyncErrors=_IMCloudKitSyncErrors; @property long long IMCloudKitSyncControllerSyncRecordType; // @synthesize IMCloudKitSyncControllerSyncRecordType=_IMCloudKitSyncControllerSyncRecordType; @property long long IMCloudKitSyncControllerSyncType; // @synthesize IMCloudKitSyncControllerSyncType=_IMCloudKitSyncControllerSyncType; @property unsigned long long IMCloudKitSyncControllerSyncState; // @synthesize IMCloudKitSyncControllerSyncState=_IMCloudKitSyncControllerSyncState; @property BOOL IMCloudKitStartingDisableDevices; // @synthesize IMCloudKitStartingDisableDevices=_IMCloudKitStartingDisableDevices; @property long long IMCloudKitStartingEnabledSettingChange; // @synthesize IMCloudKitStartingEnabledSettingChange=_IMCloudKitStartingEnabledSettingChange; @property BOOL IMCloudKitStartingInitialSync; // @synthesize IMCloudKitStartingInitialSync=_IMCloudKitStartingInitialSync; @property BOOL IMCloudKitStartingPeriodicSync; // @synthesize IMCloudKitStartingPeriodicSync=_IMCloudKitStartingPeriodicSync; @property(retain) NSDate *IMCloudKitSyncDate; // @synthesize IMCloudKitSyncDate=_IMCloudKitSyncDate; @property BOOL IMCloudKitIsRemovedFromBackup; // @synthesize IMCloudKitIsRemovedFromBackup=_IMCloudKitIsRemovedFromBackup; @property BOOL IMCloudKitIsInExitState; // @synthesize IMCloudKitIsInExitState=_IMCloudKitIsInExitState; @property BOOL IMCloudKitIsEligibleForTruthZone; // @synthesize IMCloudKitIsEligibleForTruthZone=_IMCloudKitIsEligibleForTruthZone; @property BOOL IMCloudKitSyncPaused; // @synthesize IMCloudKitSyncPaused=_IMCloudKitSyncPaused; @property BOOL IMCloudKitIsSyncing; // @synthesize IMCloudKitIsSyncing=_IMCloudKitIsSyncing; @property BOOL IMCloudKitSyncingEnabled; // @synthesize IMCloudKitSyncingEnabled=_IMCloudKitSyncingEnabled; - (id)convertToDictionary; @end @interface IMMe : NSObject { IMPerson *_person; NSString *_abNickname; NSString *_abFirstName; NSString *_abFullName; NSString *_abLastName; NSArray *_abEmails; NSMutableArray *_abIMHandles; NSMutableArray *_loginIMHandles; } + (id)imHandleForService:(id)arg1; + (id)me; + (id)fallbackUserName; - (id)description; - (void)myPictureChanged; @property(readonly, nonatomic) NSArray *imHandles; @property(readonly, nonatomic) IMHandle *bestIMHandle; @property(readonly, nonatomic) NSString *fullName; @property(readonly, nonatomic) NSString *lastName; @property(readonly, nonatomic) NSString *email; @property(readonly, nonatomic) NSArray *emails; @property(readonly, nonatomic) NSString *firstName; @property(readonly, nonatomic) NSString *nickname; - (void)setFirstName:(id)arg1 lastName:(id)arg2; - (BOOL)removeIMHandle:(id)arg1; - (BOOL)isIMHandleLoginIMHandle:(id)arg1; - (BOOL)addIMHandle:(id)arg1; - (id)loginIMHandles; - (BOOL)removeLoginIMHandle:(id)arg1; - (BOOL)addLoginIMHandle:(id)arg1; @property(readonly, nonatomic) IMPerson *person; - (void)setIMPerson:(id)arg1; - (void)resetABPerson; - (void)rebuildIMHandles; - (id)_imHandlesWithIDs:(id)arg1 onAccount:(id)arg2; @property(readonly, nonatomic) NSString *guid; - (id)init; @end @interface IMSendProgress : NSObject { id _delegate; id _context; NSTimer *_sendProgressTimer; NSDictionary *_sendingItems; float _cachedSendProgress; BOOL _wasShowing; BOOL _startSendProgressImmediately; id _timeDataSource; } + (Class)_timeDataSourceClass; @property(retain, nonatomic) id timeDataSource; // @synthesize timeDataSource=_timeDataSource; @property(nonatomic) BOOL startSendProgressImmediately; // @synthesize startSendProgressImmediately=_startSendProgressImmediately; @property(copy, nonatomic) NSDictionary *sendingItems; // @synthesize sendingItems=_sendingItems; @property(nonatomic) __weak id context; // @synthesize context=_context; @property(nonatomic) __weak id delegate; // @synthesize delegate=_delegate; - (void)_sendProgressTimerFired:(id)arg1; - (void)_scheduleSendProgressTimerIfNeeded; - (void)_updateSendProgress; - (void)_resetSendProgress; - (BOOL)_hasSendingMessages; - (void)invalidate; - (void)updateForItems:(id)arg1 forced:(BOOL)arg2; - (id)initWithDelegate:(id)arg1 context:(id)arg2; - (id)description; - (void)dealloc; @end @interface IMSendProgressRealTimeDataSource : NSObject { } @property(readonly) double timeIntervalSinceReferenceDate; @end @interface IMSimulatedDaemonController : IMDaemonController { NSArray *_listeners; } + (id)dictionaryForChat:(id)arg1; + (void)beginSimulatingDaemon; + (id)sharedInstance; @property(retain, nonatomic) NSArray *listeners; // @synthesize listeners=_listeners; - (unsigned int)capabilitiesForListenerID:(id)arg1; - (BOOL)isConnected; - (BOOL)connectToDaemonWithLaunch:(BOOL)arg1; - (BOOL)connectToDaemonWithLaunch:(BOOL)arg1 capabilities:(unsigned int)arg2 blockUntilConnected:(BOOL)arg3; - (void)sendBalloonPayload:(id)arg1 attachments:(id)arg2 withMessageGUID:(id)arg3 bundleID:(id)arg4; @end /* @interface IMLocationManager : NSObject { CLLocationManager *_locationManager; NSMutableArray *_handlers; NSTimer *_timeoutHandler; CLLocation *_location; NSError *_error; NSDate *_locateStartTime; NSTimer *_locationUpdateTimer; } + (Class)__CLLocationManagerClass; + (id)sharedInstance; @property(retain, nonatomic) CLLocation *location; // @synthesize location=_location; @property(retain, nonatomic) NSTimer *locationUpdateTimer; // @synthesize locationUpdateTimer=_locationUpdateTimer; @property(retain, nonatomic) NSDate *locateStartTime; // @synthesize locateStartTime=_locateStartTime; @property(retain, nonatomic) NSError *error; // @synthesize error=_error; @property(retain, nonatomic) CLLocationManager *locationManager; // @synthesize locationManager=_locationManager; @property(retain, nonatomic) NSMutableArray *handlers; // @synthesize handlers=_handlers; - (void)_fireCompletionHandlers; - (void)_locationManagerTimedOut; - (void)_locationUpdateTimerFired:(id)arg1; - (BOOL)_shouldSendLocation:(id)arg1 timeIntervalSinceStart:(double)arg2; - (void)locationManager:(id)arg1 didFailWithError:(id)arg2; - (void)locationManager:(id)arg1 didUpdateLocations:(id)arg2; @property(readonly, nonatomic) BOOL locationAuthorizationDenied; - (void)startUpdatingCurrentLocationWithHandler:(CDUnknownBlockType)arg1; - (id)init; - (void)dealloc; // Remaining properties @property(readonly, copy) NSString *debugDescription; @property(readonly, copy) NSString *description; @property(readonly) unsigned long long hash; @property(readonly) Class superclass; @end */ @interface IMAutomationBatchMessageOperations : NSObject { } - (id)stopRecordingDatabaseError:(id *)arg1; - (id)beginRecordingMessagesToReplayDatabase:(id)arg1 error:(id *)arg2; - (id)sendMessagesfromReplayDatabase:(id)arg1 userInfo:(id)arg2 error:(id *)arg3; @end @interface IMAttachment : NSObject { NSString *_guid; NSString *_path; BOOL _isSticker; BOOL _isTransferComplete; NSDate *_createdDate; } - (id)fileTransfer; - (BOOL)isTransferComplete; - (BOOL)isSticker; - (id)createdDate; - (id)path; - (id)guid; - (id)description; - (id)initWithPath:(id)arg1 guid:(id)arg2 createdDate:(id)arg3 isSticker:(BOOL)arg4 isTransferComplete:(BOOL)arg5; - (id)initWithPath:(id)arg1 guid:(id)arg2; @end @interface IMPerson : NSObject { BOOL _registered; // ABPerson *_abPerson; // ABAddressBook *_customBook; NSString *_uniqueID; NSString *_cachedFirstName; NSString *_cachedLastName; NSString *_cachedFullName; NSString *_cachedCompanyName; NSString *_cachedNickName; // CNContact *_cnContact; } + (void)_setCachedQueriesEnabled:(BOOL)arg1; + (id)_initialABPropertyLabelForProperty:(id)arg1; + (id)personWithABPerson:(id)arg1; + (BOOL)shouldPurgeCacheForIMPerson:(id)arg1; + (id)existingABPeopleWithInstantMessageAddress:(id)arg1 onServices:(id)arg2 allowSubstringMatch:(BOOL)arg3; + (id)existingABPersonWithInstantMessageAddress:(id)arg1 onServices:(id)arg2 allowSubstringMatch:(BOOL)arg3; + (id)existingABPersonWithFirstName:(id)arg1 andLastName:(id)arg2 andNickName:(id)arg3 orEmail:(id)arg4 orNumber:(id)arg5; + (id)existingABPersonWithFirstName:(id)arg1 andLastName:(id)arg2 andNickName:(id)arg3 orEmail:(id)arg4 orNumber:(id)arg5 countryCode:(id)arg6 identifier:(int *)arg7; + (id)existingABPersonWithFirstName:(id)arg1 andLastName:(id)arg2 andNickName:(id)arg3 orEmail:(id)arg4 orNumber:(id)arg5 identifier:(int *)arg6; + (id)existingABPersonWithFirstName:(id)arg1 andLastName:(id)arg2 orEmail:(id)arg3 orNumber:(id)arg4; + (id)existingABPersonForPerson:(id)arg1; + (id)existingABPersonWithFirstName:(id)arg1 andLastName:(id)arg2 orEmail:(id)arg3; + (id)existingABPersonWithFirstName:(id)arg1 lastName:(id)arg2; + (id)allPeople; //@property(retain, nonatomic) CNContact *cnContact; // @synthesize cnContact=_cnContact; @property(readonly, nonatomic) BOOL _registered; // @synthesize _registered; @property(retain, nonatomic) NSString *cachedNickName; // @synthesize cachedNickName=_cachedNickName; @property(retain, nonatomic) NSString *cachedCompanyName; // @synthesize cachedCompanyName=_cachedCompanyName; @property(retain, nonatomic) NSString *cachedFullName; // @synthesize cachedFullName=_cachedFullName; @property(retain, nonatomic) NSString *cachedLastName; // @synthesize cachedLastName=_cachedLastName; @property(retain, nonatomic) NSString *cachedFirstName; // @synthesize cachedFirstName=_cachedFirstName; @property(retain, nonatomic, setter=_setUniqueID:) NSString *uniqueID; // @synthesize uniqueID=_uniqueID; //@property(retain, nonatomic, setter=_setCustomBook:) ABAddressBook *_customBook; // @synthesize _customBook; //@property(readonly, nonatomic) ABPerson *_abPerson; // @synthesize _abPerson; - (unsigned long long)hash; @property(readonly, nonatomic) unsigned long long status; @property(readonly, nonatomic) NSData *imageDataWithoutLoading; @property(retain, nonatomic) NSData *imageData; - (void)_abPersonChanged:(id)arg1; @property(readonly, nonatomic) NSArray *groups; - (id)description; - (BOOL)isEqual:(id)arg1; - (BOOL)isEqualToIMPerson:(id)arg1; - (BOOL)containsHandle:(id)arg1 forServiceProperty:(id)arg2; - (void)appendID:(id)arg1 toProperty:(id)arg2; - (void)save; @property(readonly, nonatomic) NSArray *mobileNumbers; @property(retain, nonatomic) NSArray *phoneNumbers; - (id)allHandlesForProperty:(id)arg1; - (void)setValues:(id)arg1 forProperty:(id)arg2; - (void)setValues:(id)arg1 forIMProperty:(id)arg2; - (id)valuesForProperty:(id)arg1; - (id)_valuesAndLabelsForProperty:(id)arg1; - (id)valuesForIMProperty:(id)arg1; @property(readonly, nonatomic) BOOL isInAddressBook; @property(copy, nonatomic) NSArray *emails; @property(readonly, nonatomic) NSArray *allEmails; - (id)emailHandlesForService:(id)arg1; - (id)emailHandlesForService:(id)arg1 includeBaseEmail:(BOOL)arg2; - (void)setFirstName:(id)arg1 lastName:(id)arg2; @property(copy, nonatomic) NSString *lastName; @property(copy, nonatomic) NSString *firstName; @property(readonly, nonatomic) NSString *fullName; @property(copy, nonatomic) NSString *nickname; @property(readonly, nonatomic) NSString *name; @property(readonly, nonatomic) NSString *displayName; @property(readonly, nonatomic) NSString *abbreviatedName; @property(readonly, nonatomic) NSString *companyName; @property(readonly, nonatomic) BOOL isCompany; - (void)dealloc; @property(readonly, copy, nonatomic) NSString *cnContactID; //@property(readonly, nonatomic) ABPerson *abPerson; - (id)initWithABPerson:(id)arg1; - (id)init; - (id)idsAddresses; @end @interface IMSimulatedAccount : IMAccount { IMHandle *_loginHandle; } @property(retain, nonatomic) IMHandle *loginHandle; // @synthesize loginHandle=_loginHandle; - (BOOL)isConnected; - (BOOL)isOperational; - (BOOL)supportsRegistration; - (id)loginIMHandle; @end @class IMChatRegistry; @interface IMChat : IMItemsController { NSString *_guid; NSString *_typingGUID; NSString *_localUserIsComposing; NSString *_currentLocationGUID; NSString *_identifier; IMAccount *_account; NSString *_displayName; NSString *_roomName; NSString *_roomNameWithoutSuffix; NSString *_lastAddressedHandleID; NSString *_lastAddressedSIMID; NSString *_groupID; NSData *_engramID; NSArray *_participants; NSMutableDictionary *_participantStates; IMMessage *_invitationForPendingParticipants; NSMutableArray *_messagesPendingJoin; NSMutableSet *_guids; NSMutableDictionary *_chatProperties; NSMutableDictionary *_participantProperties; NSArray *_frequentReplies; NSArray *_attachments; NSNumber *_countOfAttachmentsNotCachedLocally; NSNumber *_countOfMessagesMarkedAsSpam; // IMTimingCollection *_timingCollection; NSDate *_dateCreated; NSDate *_dateModified; unsigned long long _overallChatStatus; double _joinedTimeInterval; // id _chatItemRules; // IMScheduledUpdater *_chatItemsUpdater; IMSendProgress *_sendProgress; BOOL _downgradeState; // IMScheduledUpdater *_downgradeStateUpdater; long long _joinState; unsigned char _style; unsigned long long _dbFailedCount; unsigned long long _dbUnreadCount; void *_context; unsigned int _hasBeenConfigured:1; unsigned int _isFirstMessageInvitation:1; unsigned int _wasInvitationHandled:1; unsigned int _didSendAFinishedMessage:1; unsigned int _hasPendingMarkRead:1; unsigned int _isUpdatingChatItems:1; unsigned int _ignoreDowngradeStatusUpdates:1; unsigned int _isFiltered:1; unsigned int _forceMMS:1; BOOL _hasRefreshedServiceForSending; BOOL _hasHadSuccessfulQuery; long long _lastMessageTimeStampOnLoad; unsigned int _shouldAnnouncePeopleJoin:1; NSString *_currentUnreadHistoryQuery; BOOL _hasEarlierMessagesToLoad; BOOL _hasMoreRecentMessagesToLoad; BOOL _isCurrentlyDownloadingPurgedAssets; BOOL _hasSurfRequest; NSString *_personCentricID; NSDictionary *_bizIntent; double _latestTypingIndicatorTimeInterval; // TUConversation *_conversation; } + (Class)chatItemRulesClass; + (void)setChatItemRulesClass:(Class)arg1; + (void)_initializeFMF; + (void)moveVIPChatAtIndex:(long long)arg1 toIndex:(long long)arg2; + (void)updateVIPChatIdentifiers:(CDUnknownBlockType)arg1; + (CDUnknownBlockType)watermarkComparator; + (void)cleanWatermarkCache; + (void)removeGUIDInAttemptingListInScrutinyMode:(id)arg1; + (BOOL)isGUIDInAttemptingListInScrutinyMode:(id)arg1; + (void)storeGUIDInAttemptingListInScrutinyMode:(id)arg1; + (void)_removeGUID:(id)arg1 fromList:(id)arg2; + (void)_storeGUID:(id)arg1 forKey:(id)arg2; + (id)_GUIDsForKey:(id)arg1; + (id)__im_adjustMessageSummaryInfoForSending:(id)arg1; //@property(readonly, nonatomic) TUConversation *conversation; // @synthesize conversation=_conversation; @property(retain, nonatomic) NSString *lastAddressedSIMID; // @synthesize lastAddressedSIMID=_lastAddressedSIMID; @property(nonatomic) double latestTypingIndicatorTimeInterval; // @synthesize latestTypingIndicatorTimeInterval=_latestTypingIndicatorTimeInterval; @property(copy, nonatomic) NSDictionary *bizIntent; // @synthesize bizIntent=_bizIntent; @property(readonly, nonatomic) long long lastMessageTimeStampOnLoad; // @synthesize lastMessageTimeStampOnLoad=_lastMessageTimeStampOnLoad; @property(nonatomic) BOOL hasSurfRequest; // @synthesize hasSurfRequest=_hasSurfRequest; @property(readonly, nonatomic) NSData *engramID; // @synthesize engramID=_engramID; @property(retain, nonatomic) NSString *personCentricID; // @synthesize personCentricID=_personCentricID; @property(retain, nonatomic) IMMessage *invitationForPendingParticipants; // @synthesize invitationForPendingParticipants=_invitationForPendingParticipants; @property(readonly, nonatomic) long long joinState; // @synthesize joinState=_joinState; @property(readonly, nonatomic) NSDate *dateModified; // @synthesize dateModified=_dateModified; @property(readonly, nonatomic) NSDate *dateCreated; // @synthesize dateCreated=_dateCreated; @property(retain, nonatomic) NSString *displayName; // @synthesize displayName=_displayName; @property(readonly, nonatomic) NSString *roomName; // @synthesize roomName=_roomName; @property(nonatomic) void *contextInfo; // @synthesize contextInfo=_context; @property(readonly, nonatomic) unsigned char chatStyle; // @synthesize chatStyle=_style; @property(readonly, nonatomic) NSArray *participants; // @synthesize participants=_participants; @property(readonly, nonatomic) IMAccount *account; // @synthesize account=_account; @property(readonly, nonatomic) NSString *guid; // @synthesize guid=_guid; @property(retain, nonatomic, setter=_setGUIDs:) NSMutableSet *_guids; // @synthesize _guids; @property(retain, nonatomic) NSString *groupID; // @synthesize groupID=_groupID; @property(retain, nonatomic) NSString *lastAddressedHandleID; // @synthesize lastAddressedHandleID=_lastAddressedHandleID; @property(retain, nonatomic) NSArray *frequentReplies; // @synthesize frequentReplies=_frequentReplies; - (void)downloadPurgedAttachments; - (void)sendProgress:(id)arg1 progressDidChange:(float)arg2 sendingMessages:(id)arg3 sendCount:(unsigned long long)arg4 totalCount:(unsigned long long)arg5 finished:(BOOL)arg6; - (id)sendProgressDelegate; - (void)setSendProgressDelegate:(id)arg1; - (id)_initWithDictionaryRepresentation:(id)arg1 items:(id)arg2 participantsHint:(id)arg3 accountHint:(id)arg4; - (BOOL)hasStoredMessageWithGUID:(id)arg1; @property(readonly, copy) NSString *description; - (void)_daemonDied:(id)arg1; - (void)_daemonAlive:(id)arg1; - (void)_accountControllerUpdated:(id)arg1; - (BOOL)_sanityCheckAccounts; - (void)_handleAddressBookChangeForRecipientUID:(id)arg1; - (void)addPendingParticipants:(id)arg1; - (void)_removeParticipantsFromChat:(id)arg1 reason:(id)arg2 fromiMessageChat:(BOOL)arg3; - (void)removeParticipantsFromiMessageChat:(id)arg1 reason:(id)arg2; - (void)removeParticipants:(id)arg1 reason:(id)arg2; - (void)_inviteParticipantsToChat:(id)arg1 reason:(id)arg2 toiMessageChat:(BOOL)arg3; - (void)inviteParticipantsToiMessageChat:(id)arg1 reason:(id)arg2; - (void)inviteParticipants:(id)arg1 reason:(id)arg2; - (void)_invitePendingParticipants; - (void)_inviteParticipants:(id)arg1 reason:(id)arg2 toiMessageChat:(BOOL)arg3; - (id)_pendingParticipants; - (BOOL)canAddParticipants:(id)arg1; - (BOOL)canAddParticipant:(id)arg1; @property(readonly, nonatomic) BOOL canLeaveChat; - (void)_addParticipants:(id)arg1 withState:(unsigned long long)arg2; - (void)archive; - (void)remove; - (void)_leaveChat:(BOOL)arg1; - (void)leave; - (void)leaveiMessageGroup; - (void)join; @property(retain, nonatomic) IMHandle *recipient; - (void)setRecipient:(id)arg1 locally:(BOOL)arg2; - (void)_setAccount:(id)arg1 locally:(BOOL)arg2; - (void)_setAccount:(id)arg1; - (BOOL)_hasCommunicatedOnService:(id)arg1; - (void)setValue:(id)arg1 forProperty:(id)arg2 ofParticipant:(id)arg3; - (id)valueForProperty:(id)arg1 ofParticipant:(id)arg2; - (id)allPropertiesOfParticipant:(id)arg1; - (void)userToggledReadReceiptSwitch:(BOOL)arg1; - (void)setValue:(id)arg1 forChatProperty:(id)arg2; - (id)valueForChatProperty:(id)arg1; - (id)allChatProperties; - (void)_setChatProperties:(id)arg1; - (BOOL)_isDuplicate:(id)arg1; - (void)markAllMessagesAsRead; - (void)markMessagesAsRead:(id)arg1; - (void)markMessageAsRead:(id)arg1; - (void)_setTimerForReadMessageCache; - (void)__clearReadMessageCache; - (void)updateMessage:(id)arg1 flags:(unsigned long long)arg2; - (void)updateMessage:(id)arg1; - (BOOL)authorizedToSendCurrentLocationMessage; - (BOOL)canSendCurrentLocationMessage; - (BOOL)canSendTransfer:(id)arg1; - (BOOL)canSendMessage:(id)arg1; @property(nonatomic) BOOL localUserIsRecording; @property(nonatomic) BOOL localUserIsTyping; @property(retain, nonatomic) NSString *localUserIsComposing; - (void)setLocalUserIsComposing:(id)arg1 typingIndicatorData:(id)arg2; - (void)_setLocalUserIsComposing:(id)arg1 suppliedGUID:(id)arg2 typingIndicatorData:(id)arg3; - (void)_setLocalUserIsComposing:(id)arg1 suppliedGUID:(id)arg2; - (BOOL)_shouldSendCancelTypingIndicator; @property(readonly, nonatomic) NSString *localTypingMessageGUID; - (void)_sendCurrentLocationMessageUsingLocationManager:(id)arg1; - (void)sendCurrentLocationMessage; - (void)sendMessage:(id)arg1; - (void)_fixItemForSendingMessageTime:(id)arg1; - (void)_sendMessage:(id)arg1 adjustingSender:(BOOL)arg2 shouldQueue:(BOOL)arg3; - (void)cancelMessage:(id)arg1; - (void)declineInvitation; - (void)acceptInvitation; @property(readonly, nonatomic) BOOL hasUnhandledInvitation; @property(readonly, nonatomic) NSString *roomNameWithoutSuffix; @property(readonly, nonatomic) NSString *deviceIndependentID; @property(readonly, nonatomic) NSString *persistentID; - (void)_updateLastAddressedSIMID:(id)arg1; - (void)_updateLastAddressedHandleID:(id)arg1; - (void)_updateEngramID:(id)arg1; - (void)_updateDisplayName:(id)arg1; - (void)_setDisplayName:(id)arg1; - (void)setRoomName:(id)arg1; @property(readonly, nonatomic, getter=isGroupChat) BOOL groupChat; @property(readonly, nonatomic) unsigned long long overallChatStatus; @property(readonly, nonatomic) BOOL canHaveMultipleParticipants; @property(readonly, nonatomic) NSString *chatIdentifier; - (void)_clearCachedIdentifier; - (unsigned long long)stateForParticipant:(id)arg1; - (id)participantsWithState:(unsigned long long)arg1; - (void)_engroupParticipantsUpdated; - (void)_handleAttributionChanged; - (void)beginListeningToAttributionChanges; - (void)endListeningToAttributionChanges; - (id)_performQueryWithKey:(id)arg1 loadImmediately:(BOOL)arg2 block:(CDUnknownBlockType)arg3; - (id)_performQueryWithKey:(id)arg1 loadImmediately:(BOOL)arg2 block:(CDUnknownBlockType)arg3 completion:(CDUnknownBlockType)arg4; - (void)_showErrorMessage:(id)arg1; - (void)_participant:(id)arg1 statusChanged:(int)arg2; - (void)_setJoinState:(long long)arg1 quietly:(BOOL)arg2; - (void)_setJoinState:(long long)arg1; - (BOOL)_handleIncomingItem:(id)arg1; - (void)_fixSendingItemDateAndSortID:(id)arg1; - (BOOL)hasSurfRequestNotFromMe:(id)arg1; - (BOOL)hasSurfRequestForPaymentType:(unsigned long long)arg1; - (unsigned long long)paymentTypeForMessage:(id)arg1; - (void)_resetChatIdToLastMessageItemMap; - (void)_handleMessageGUIDDeletions:(id)arg1; - (void)_setParticipantState:(unsigned long long)arg1 forHandles:(id)arg2 quietly:(BOOL)arg3; - (void)_setParticipantState:(unsigned long long)arg1 forHandle:(id)arg2 quietly:(BOOL)arg3; - (void)_postIMChatItemsDidChangeNotificationWithInserted:(id)arg1 removed:(id)arg2 reload:(id)arg3 regenerate:(id)arg4 oldChatItems:(id)arg5 shouldLog:(BOOL)arg6; - (void)_postNotification:(id)arg1 userInfo:(id)arg2 shouldLog:(BOOL)arg3; - (void)_postNotification:(id)arg1 userInfo:(id)arg2; - (void)_endTiming; - (void)_startTiming:(id)arg1; - (id)_timingCollection; - (void)_accountLoggedOut:(id)arg1; - (void)_unwatchHandleStatusChangedForHandle:(id)arg1; - (void)_watchHandleStatusChangedForHandle:(id)arg1; - (void)_handleHandleStatusChanged:(id)arg1; - (void)_recomputeOverallChatStatusQuietly:(BOOL)arg1; - (void)didUnregisterFromRegistry:(id)arg1; - (void)clear; @property(nonatomic) BOOL hasHadSuccessfulQuery; - (long long)numberOfTimesRespondedToThread; - (BOOL)containsMessageFromContactOrMe; - (void)verifyChatShouldBeSMSSpam; - (void)updateWasDetectedAsSMSSpam:(BOOL)arg1; - (void)updateShouldForceToSMS:(BOOL)arg1; - (BOOL)shouldForceToSMS; - (BOOL)isSMS; - (BOOL)hasKnownParticipants; - (void)updateIsFiltered:(BOOL)arg1; @property(nonatomic) BOOL isFiltered; // @dynamic isFiltered; - (void)autoReportSpam; - (void)markAsAutoSpamReported; - (unsigned long long)markAsSpam; - (BOOL)deleteAllHistory; @property(readonly, nonatomic) unsigned long long messageFailureCount; @property(readonly, nonatomic) unsigned long long unreadMessageCount; @property(readonly, nonatomic) unsigned long long messageCount; @property(readonly, nonatomic) long long lastFinishedMessageID; @property(readonly, nonatomic) NSDate *lastSentMessageDate; @property(readonly, nonatomic) IMMessage *lastSentMessage; @property(readonly, nonatomic) NSDate *lastTUConversationCreatedDate; @property(readonly, nonatomic) NSDate *lastFinishedMessageDate; @property(readonly, nonatomic) BOOL lastMessageExists; @property(readonly, nonatomic) IMMessage *lastMessage; - (id)lastRelatedIncomingFinishedMessageTextContentWithLimit:(long long)arg1; @property(readonly, nonatomic) IMMessage *lastIncomingFinishedMessageWithTextContent; @property(readonly, nonatomic) IMMessage *lastIncomingFinishedMessage; @property(readonly, nonatomic) IMMessage *lastIncomingMessage; @property(readonly, nonatomic) IMMessageItem *lastFinishedMessageItem; @property(readonly, nonatomic) IMMessage *lastFinishedMessage; @property(readonly, nonatomic) IMMessage *firstMessage; - (id)messageForGUID:(id)arg1; - (id)_lastFinishedMessage; - (id)_appendArchivedItemsToItemsArray:(id)arg1; - (id)_archivedItemsToReplace:(id)arg1 numberOfMessagesBeforeGUID:(unsigned long long)arg2 numberOfMessagesAfterGUID:(unsigned long long)arg3; - (void)_insertHistoricalMessages:(id)arg1 queryID:(id)arg2 isRefresh:(BOOL)arg3 isHistoryQuery:(BOOL)arg4 limit:(unsigned long long)arg5 numberOfMessagesBeforeGUID:(unsigned long long)arg6 numberOfMessagesAfterGUID:(unsigned long long)arg7; - (void)_insertHistoricalMessages:(id)arg1 queryID:(id)arg2 isRefresh:(BOOL)arg3 isHistoryQuery:(BOOL)arg4 limit:(unsigned long long)arg5; - (void)_insertHistoricalMessages:(id)arg1 queryID:(id)arg2 isRefresh:(BOOL)arg3 isHistoryQuery:(BOOL)arg4; - (BOOL)_shouldAnnouncePeopleJoin; - (void)_setDBFailedCount:(unsigned long long)arg1; - (void)_setDBUnreadCount:(unsigned long long)arg1 postNotification:(BOOL)arg2; - (void)_setDBUnreadCount:(unsigned long long)arg1; - (void)_clearUnreadCount; @property(readonly, nonatomic) BOOL _shouldRegisterChat; - (void)_itemsDidChange:(id)arg1; - (id)_initWithItems:(id)arg1; - (void)dealloc; - (id)init; - (void)_initialize; - (id)_initWithGUID:(id)arg1 account:(id)arg2 style:(unsigned char)arg3 roomName:(id)arg4 displayName:(id)arg5 lastAddressedHandle:(id)arg6 lastAddressedSIMID:(id)arg7 items:(id)arg8 participants:(id)arg9 isFiltered:(BOOL)arg10 hasHadSuccessfulQuery:(BOOL)arg11; - (void)_setupObservation; @property(readonly) NSArray *alternativeSpeakableMatches; @property(readonly) NSString *vocabularyIdentifier; @property(readonly) NSString *pronunciationHint; @property(readonly) NSString *spokenPhrase; - (long long)_compareChat:(id)arg1 withDate:(id)arg2 withDate:(id)arg3; - (id)_tuDateForChat:(id)arg1; - (long long)compareChatByTUDateAndLastFinishedMessageDate:(id)arg1; - (long long)compareChatByDate:(id)arg1; - (BOOL)_hasJustSentAMessage; - (void)verifyFiltering; - (void)saveWatermark; - (void)updateWatermarks; @property(getter=isVIP) BOOL VIP; @property(readonly, copy) NSDate *watermarkDate; @property(readonly) long long watermarkMessageID; - (id)_storedWatermarkMessageID; - (id)_privateInitWithAccount:(id)arg1 style:(unsigned char)arg2 roomName:(id)arg3 messages:(id)arg4 participants:(id)arg5 isFiltered:(BOOL)arg6 hasHadSuccessfulQuery:(BOOL)arg7; - (void)deleteTransfers:(id)arg1; @property(readonly, copy, nonatomic) NSArray *attachments; @property(readonly, nonatomic) BOOL isCurrentlyDownloadingPurgedAttachments; @property(readonly, copy, nonatomic) NSNumber *countOfAttachmentsNotCachedLocally; - (void)loadAttachments:(CDUnknownBlockType)arg1; - (void)_setIsDownloadingPurgedAssets:(BOOL)arg1; - (void)_setCountOfAttachmentsNotCachedLocally:(id)arg1; - (void)_setCountOfMessagesMarkedAsSpam:(id)arg1; - (void)_setAttachments:(id)arg1; - (id)loadUnreadMessagesWithLimit:(unsigned long long)arg1 fallbackToMessagesUpToGUID:(id)arg2; - (id)loadFrequentRepliesLimit:(unsigned long long)arg1 loadImmediately:(BOOL)arg2; - (id)loadMessagesBeforeAndAfterGUID:(id)arg1 numberOfMessagesToLoadBeforeGUID:(unsigned long long)arg2 numberOfMessagesToLoadAfterGUID:(unsigned long long)arg3 loadImmediately:(BOOL)arg4; - (id)loadMessagesBeforeAndAfterGUID:(id)arg1 numberOfMessagesToLoadBeforeGUID:(unsigned long long)arg2 numberOfMessagesToLoadAfterGUID:(unsigned long long)arg3 loadImmediately:(BOOL)arg4 threadIdentifier:(id)tid; - (id)loadMessagesUpToGUID:(id)arg1 date:(id)arg2 limit:(unsigned long long)arg3 loadImmediately:(BOOL)arg4; - (id)loadMessagesBeforeDate:(id)arg1 limit:(unsigned long long)arg2 loadImmediately:(BOOL)arg3; - (id)loadMessagesBeforeDate:(id)arg1 limit:(unsigned long long)arg2; - (id)loadMessagesUpToGUID:(id)arg1 limit:(unsigned long long)arg2; @property(readonly, nonatomic) BOOL hasMoreRecentMessagesToLoad; @property(readonly, nonatomic) BOOL hasMoreMessagesToLoad; @property(nonatomic) unsigned long long numberOfMessagesToKeepLoaded; - (id)messagesToReportAsSpamFromChatItems:(id)arg1; - (id)allMessagesToReportAsSpam; - (id)chatItemsForItems:(id)arg1; - (id)chatItemsForMessages:(id)arg1; - (void)clearScrutinyMode; - (void)watermarkOutForScrutinyMode; - (BOOL)isInScrutinyMode; - (BOOL)_serverBagPreventsScrutinyMode; - (unsigned long long)scrutinyModeAttemptCount; - (void)watermarkInForScrutinyMode; - (void)_setRenderingDataDictionary:(id)arg1; - (id)_renderingDataDictionary; - (void)markChatItemAsPlayedExpressiveSend:(id)arg1; - (void)_markItemAsPlayed:(id)arg1; - (void)markChatItemAsPlayed:(id)arg1; - (void)markChatItemAsSaved:(id)arg1; - (void)deleteChatItems:(id)arg1; - (id)_getMessageChatItemMap:(id)arg1 withDeleteMap:(id)arg2 andAllChatItems:(id)arg3; - (id)_getDeleteChatItemMap:(id)arg1; - (void)_replaceStaleChatItems; - (void)_updateChatItemsWithReason:(id)arg1 block:(CDUnknownBlockType)arg2 shouldPost:(BOOL)arg3; - (void)_updateChatItemsWithReason:(id)arg1 block:(CDUnknownBlockType)arg2; - (void)_updateChatItems; - (void)updateChatItemsIfNeeded; - (void)endHoldingUpdatesForAllKeys; - (BOOL)isHoldingUpdatesForKey:(id)arg1; - (void)endHoldingUpdatesForKey:(id)arg1; - (void)beginHoldingUpdatesForKey:(id)arg1; - (id)chatItems; - (void)_updateLocationShareItemsForSender:(id)arg1; - (void)_configureLocationShareItem:(id)arg1; - (void)stopTrackingParticipantLocations; - (void)startTrackingParticipantLocations; - (void)stopSharingLocation; - (void)shareLocationUntilDate:(id)arg1; @property(readonly, nonatomic) BOOL allRecipientsSharingLocation; @property(readonly, nonatomic) BOOL hasSiblingRecipientsSharingLocation; @property(readonly, nonatomic) BOOL hasRecipientsSharingLocation; @property(readonly, nonatomic) BOOL allRecipientsFollowingLocation; @property(readonly, nonatomic) BOOL hasRecipientsFollowingLocation; @property(readonly, nonatomic) NSSet *allSiblingFMFHandles; - (void)markAllLocationShareItemsAsUnactionable; @property(readonly, nonatomic) NSSet *fmfHandles; @property(readonly, nonatomic) IMChatRegistry *chatRegistry; - (id)testChatItems; - (BOOL)canEditChatItem:(id)arg1; - (void)initiateTUConversationWithVideoEnabled:(BOOL)arg1; - (void)joinExistingTUConversationWithVideoEnabled:(BOOL)arg1; - (void)_launchAppForJoinRequest:(id)arg1; - (BOOL)mapsToTUConversation:(id)arg1; - (id)messageAcknowledgmentSummaryForConversationListWithMessage:(id)arg1; - (void)sendMessageAcknowledgment:(long long)arg1 forChatItem:(id)arg2 withAssociatedMessageInfo:(id)arg3; - (void)sendMessageAcknowledgment:(long long)arg1 forChatItem:(id)arg2 withMessageSummaryInfo:(id)arg3; - (void)deleteExtensionPayloadData; - (void)closeSession; @property(readonly, nonatomic) BOOL isAppleChat; @property(readonly, nonatomic) BOOL isMakoChat; @property(readonly, nonatomic) BOOL isBusinessChat; @property(readonly, nonatomic) BOOL isReplyEnabled; //@property(readonly, nonatomic) MKMapItem *mapItem; @property(nonatomic) BOOL forceMMS; @property(readonly, nonatomic) BOOL suppressAccountRetargetingForNamedGroupConversation; - (void)_calculateDowngradeState; - (void)_setAndIncrementDowngradeMarkersForManual:(BOOL)arg1; - (void)_clearDowngradeMarkers; - (id)_consecutiveDowngradeAttemptsViaManualDowngrades:(BOOL)arg1; - (void)_calculateDowngradeStateTimerFired; - (void)_updateDowngradeState:(BOOL)arg1 checkAgainInterval:(double)arg2; - (void)_invalidateDowngradeState; - (BOOL)isDowngraded; - (void)_targetToService:(id)arg1 newComposition:(BOOL)arg2; - (void)_setPreviousAccount:(id)arg1 forService:(id)arg2; - (id)_previousAccountForService:(id)arg1; - (BOOL)_chatHasValidAccount:(id)arg1 forService:(id)arg2; - (BOOL)_accountIsOperational:(id)arg1 forService:(id)arg2; - (void)_delayedInvalidateDowngradeState; - (void)_handleIncomingCommand:(id)arg1; - (void)_handleDeliveredCommand:(id)arg1; - (BOOL)sendDowngradeNotificationTo:(id)arg1; - (void)sendDowngradePingForMessage:(id)arg1 manualDowngrade:(BOOL)arg2; - (void)refreshServiceForSending; // Remaining properties @property(readonly, copy) NSString *debugDescription; @property(readonly) NSString *identifier; @property(readonly) Class superclass; @end @interface IMItemChatContext : NSObject { IMHandle *_senderHandle; IMHandle *_otherHandle; } - (void)dealloc; @end @interface IMMessageItemChatContext : IMItemChatContext { IMMessage *_message; BOOL _invitation; } - (void)dealloc; @end @interface IMCloudKitHooks : NSObject { } + (id)logHandle; + (id)sharedInstance; + (void)__setSingleton__im:(id)arg1; + (id)__singleton__im; - (BOOL)mocAccountsMatch; - (void)reportMetricToCK:(id)arg1 withDict:(id)arg2; - (void)reportMetricToCK:(id)arg1 withSuccess:(BOOL)arg2; - (void)reportMetricToCK:(id)arg1; - (void)broadcastCloudKitStateAfterClearingErrors; - (void)broadcastCloudKitStateAfterFetchingAccountStatus; - (void)broadcastCloudKitState; - (void)tryToAutoCollectLogsWithErrorString:(id)arg1 sendLogsTo:(id)arg2; - (void)fetchCloudKitSyncStateDebuggingInfo:(id)arg1; - (id)syncStateDictionary; - (void)syncDeletesToCloudKit; - (void)printCachedRampState; - (void)fetchLatestRampState; - (void)writeCloudKitSyncCounts:(id)arg1; - (void)fetchSyncStateStatistics; - (void)updateAttachmentFileSizes; - (void)purgeAttachments:(long long)arg1; - (void)metricAttachments:(long long)arg1; - (void)deleteSalt; - (void)printCachedSalt; - (void)fetchLatestSalt; - (void)clearTombStoneMessagesTable; - (void)loadDeletedMessagesWithLimit:(long long)arg1; - (void)_updateCloudKitState; - (void)_updateCloudKitStateWithDictionary:(id)arg1; - (id)exitDate; - (BOOL)isInExitState; - (void)_didAttemptToDisableAllDevicesResult:(BOOL)arg1; - (BOOL)isDisablingDevices; - (void)_didPerformAdditionalStorageRequiredCheckWithSuccess:(BOOL)arg1 additionalStorageRequired:(unsigned long long)arg2 forAccountId:(id)arg3 error:(id)arg4; - (long long)isChangingEnabledState; - (void)_didAttemptToSetEnabledTo:(BOOL)arg1 result:(BOOL)arg2; - (id)lastSyncDate; - (BOOL)isSyncing; - (BOOL)isStartingSync; - (void)initiateSync; - (void)_requestMOCEnabledReturned:(unsigned long long)arg1; - (void)requestMOCEnabledState; - (void)setShouldOptimizeAttachmentStorage:(BOOL)arg1; - (BOOL)shouldOptimizeAttachmentStorage; - (BOOL)eligibleForTruthZone; - (BOOL)rampedIntoTruthZone; - (BOOL)removedFromiCloudBackup; - (void)tryToDisableAllDevices; - (void)fetchSecurityLevelAndUpdateMiCSwitchEligibility; - (void)performAdditionalStorageRequiredCheck; - (void)setEnabled:(BOOL)arg1; - (BOOL)isEnabled; - (BOOL)shouldShowCloudKitUI; - (void)sendRestoreFailuresLogDumps; - (void)clearDataFromCloudKit; - (void)clearLocalSyncState; - (void)loadDirtyMessagesWithLimit:(long long)arg1; - (void)initiatePeriodicSync; - (void)downloadAttachmentAssets; - (void)syncMessages; - (void)deleteExitRecord; - (void)fetchExitRecord; - (void)writeExitRecord; - (void)deleteMessagesZone; - (void)writeDirtyMessages; - (void)deleteAttachmentZone; - (void)syncAttachments; - (void)writeAttachments; - (void)createAttachmentZone; - (void)clearChatZoneSyncToken; - (void)markAllChatsAsDirty; - (void)syncChats; - (void)deleteChatZone; - (void)writeDirtyChats; - (void)createChatZone; - (void)setupIMCloudKitHooks; - (void)clearAnalyticDefaultsAndLocalSyncState; - (void)uploadDailyAnalyticstoCloudKit; - (id)init; - (id)logHandle; @end @interface IMBusinessNameManager : NSObject { NSLock *_lock; NSMutableDictionary *_cache; NSMutableDictionary *_pendingRequests; } + (id)sharedInstance; @property(retain) NSMutableDictionary *pendingRequests; // @synthesize pendingRequests=_pendingRequests; @property(retain) NSMutableDictionary *cache; // @synthesize cache=_cache; @property(retain) NSLock *lock; // @synthesize lock=_lock; - (id)businessNameForUID:(id)arg1 updateHandler:(CDUnknownBlockType)arg2; - (id)init; @end typedef NS_ENUM(NSInteger, IMMessageDescriptionType) { IMMessageDescriptionAccessibility, IMMessageDescriptionAcknowledgement, IMMessageDescriptionConversationList, IMMessageDescriptionNotification, IMMessageDescriptionSiri, IMMessageDescriptionSPI, }; @interface IMMessage : NSObject { IMHandle *_sender; IMHandle *_subject; NSAttributedString *_text; NSString *_plainBody; NSDate *_time; NSDate *_timeDelivered; NSDate *_timeRead; NSDate *_timePlayed; NSString *_guid; NSAttributedString *_messageSubject; NSArray *_fileTransferGUIDs; NSError *_error; NSString *_balloonBundleID; NSData *_payloadData; NSString *_expressiveSendStyleID; NSDate *_timeExpressiveSendPlayed; unsigned long long _flags; BOOL _isInvitationMessage; long long _messageID; NSDictionary *_bizIntent; NSString *_locale; BOOL _isSOS; NSString *_associatedMessageGUID; long long _associatedMessageType; NSDictionary *_messageSummaryInfo; NSString *_associatedBalloonBundleID; NSData *_customTypingIndicatorIcon; NSString *_notificationIDSTokenURI; unsigned long long _sortID; struct _NSRange _associatedMessageRange; } + (id)determineRichLinksInMessage:(id)arg1 additionalSupportedSchemes:(id)arg2; + (id)determineRichLinksInMessage:(id)arg1; + (BOOL)supportedRichLinkURL:(id)arg1 additionalSupportedSchemes:(id)arg2; + (BOOL)hasKnownSchemesForRichLinkURL:(id)arg1 additionalSupportedSchemes:(id)arg2; + (BOOL)hasKnownSchemesForRichLinkURL:(id)arg1; + (Class)richLinksDataSourceClass; + (id)messageFromIMMessageItemDictionary:(id)arg1 body:(id)arg2 sender:(id)arg3 subject:(id)arg4; + (id)messageFromIMMessageItem:(id)arg1 sender:(id)arg2 subject:(id)arg3; + (id)fromMeIMHandle:(id)arg1 withText:(id)arg2 fileTransferGUIDs:(id)arg3 flags:(unsigned long long)arg4; + (id)instantMessageWithText:(id)arg1 messageSubject:(id)arg2 fileTransferGUIDs:(id)arg3 flags:(unsigned long long)arg4 balloonBundleID:(id)arg5 payloadData:(id)arg6 expressiveSendStyleID:(id)arg7; + (id)instantMessageWithText:(id)arg1 messageSubject:(id)arg2 fileTransferGUIDs:(id)arg3 flags:(unsigned long long)arg4; + (id)instantMessageWithText:(id)arg1 messageSubject:(id)arg2 flags:(unsigned long long)arg3 expressiveSendStyleID:(id)arg4; + (id)instantMessageWithText:(id)arg1 messageSubject:(id)arg2 flags:(unsigned long long)arg3; + (id)instantMessageWithText:(id)arg1 flags:(unsigned long long)arg2; + (id)defaultInvitationMessageFromSender:(id)arg1 flags:(unsigned long long)arg2; + (id)locatingMessageWithGuid:(id)arg1 error:(id)arg2; + (id)messageWithLocation:(id)arg1 flags:(unsigned long long)arg2 error:(id)arg3 guid:(id)arg4; + (id)_vCardDataWithCLLocation:(id)arg1; + (id)breadcrumbMessageWithText:(id)arg1 associatedMessageGUID:(id)arg2 balloonBundleID:(id)arg3 fileTransferGUIDs:(id)arg4 payloadData:(id)arg5; + (id)editedMessageWithOriginalMessage:(id)arg1 originalPrefixedGUID:(id)arg2 newBody:(id)arg3; + (id)instantMessageWithAssociatedMessageContent:(id)arg1 flags:(unsigned long long)arg2 associatedMessageGUID:(id)arg3 associatedMessageType:(long long)arg4 associatedMessageRange:(struct _NSRange)arg5 messageSummaryInfo:(id)arg6; @property(nonatomic) unsigned long long sortID; // @synthesize sortID=_sortID; @property(nonatomic) BOOL isSOS; // @synthesize isSOS=_isSOS; @property(retain, nonatomic) NSString *notificationIDSTokenURI; // @synthesize notificationIDSTokenURI=_notificationIDSTokenURI; @property(retain, nonatomic) NSData *customTypingIndicatorIcon; // @synthesize customTypingIndicatorIcon=_customTypingIndicatorIcon; @property(retain, nonatomic) NSDate *timeExpressiveSendPlayed; // @synthesize timeExpressiveSendPlayed=_timeExpressiveSendPlayed; @property(retain, nonatomic) NSString *expressiveSendStyleID; // @synthesize expressiveSendStyleID=_expressiveSendStyleID; @property(retain, nonatomic) NSString *associatedBalloonBundleID; // @synthesize associatedBalloonBundleID=_associatedBalloonBundleID; @property(retain, nonatomic) NSData *payloadData; // @synthesize payloadData=_payloadData; @property(retain, nonatomic) NSString *balloonBundleID; // @synthesize balloonBundleID=_balloonBundleID; @property(retain, nonatomic, setter=_updateLocale:) NSString *locale; // @synthesize locale=_locale; @property(retain, nonatomic, setter=_updateBizIntent:) NSDictionary *bizIntent; // @synthesize bizIntent=_bizIntent; @property(copy, nonatomic, setter=_messageSummaryInfo:) NSDictionary *messageSummaryInfo; // @synthesize messageSummaryInfo=_messageSummaryInfo; @property(nonatomic, setter=_associatedMessageRange:) struct _NSRange associatedMessageRange; // @synthesize associatedMessageRange=_associatedMessageRange; @property(nonatomic, setter=_associatedMessageType:) long long associatedMessageType; // @synthesize associatedMessageType=_associatedMessageType; @property(copy, nonatomic, setter=_associatedMessageGUID:) NSString *associatedMessageGUID; // @synthesize associatedMessageGUID=_associatedMessageGUID; @property(retain, nonatomic, setter=_updateTimePlayed:) NSDate *timePlayed; // @synthesize timePlayed=_timePlayed; @property(retain, nonatomic, setter=_updateTimeRead:) NSDate *timeRead; // @synthesize timeRead=_timeRead; @property(retain, nonatomic, setter=_updateTimeDelivered:) NSDate *timeDelivered; // @synthesize timeDelivered=_timeDelivered; @property(copy, nonatomic, setter=_updateFileTransferGUIDs:) NSArray *fileTransferGUIDs; // @synthesize fileTransferGUIDs=_fileTransferGUIDs; @property(nonatomic) BOOL isInvitationMessage; // @synthesize isInvitationMessage=_isInvitationMessage; @property(retain, nonatomic, setter=_updateError:) NSError *error; // @synthesize error=_error; @property(nonatomic, setter=_updateFlags:) unsigned long long flags; // @synthesize flags=_flags; @property(nonatomic, setter=_updateMessageID:) long long messageID; // @synthesize messageID=_messageID; @property(retain, nonatomic, setter=_updateGUID:) NSString *guid; // @synthesize guid=_guid; @property(retain, nonatomic, setter=_updateText:) NSAttributedString *text; // @synthesize text=_text; @property(retain, nonatomic, setter=_updateTime:) NSDate *time; // @synthesize time=_time; @property(readonly, nonatomic) NSAttributedString *messageSubject; // @synthesize messageSubject=_messageSubject; @property(readonly, nonatomic) IMHandle *subject; // @synthesize subject=_subject; @property(retain, nonatomic, setter=_updateSender:) IMHandle *sender; // @synthesize sender=_sender; - (id)description; - (BOOL)isEqual:(id)arg1; - (id)messagesBySeparatingRichLinks; @property(readonly, nonatomic) IMMessageItem *_imMessageItem; - (long long)compare:(id)arg1 comparisonType:(long long)arg2; - (long long)compare:(id)arg1; @property(readonly, nonatomic) BOOL wasDataDetected; @property(readonly, nonatomic) BOOL wasDowngraded; @property(readonly, nonatomic) BOOL isAlert; @property(readonly, nonatomic) BOOL isAddressedToMe; - (void)setIsAddressedToMe:(BOOL)arg1; @property(readonly, nonatomic) BOOL isSystemMessage; @property(readonly, nonatomic) BOOL isPlayed; @property(readonly, nonatomic) BOOL isAudioMessage; @property(readonly, nonatomic) BOOL isRead; @property(readonly, nonatomic) BOOL isDelivered; @property(readonly, nonatomic) BOOL isAutoReply; @property(readonly, nonatomic) BOOL isDelayed; @property(readonly, nonatomic) BOOL isEmpty; @property(readonly, nonatomic) BOOL isFromMe; @property(readonly, nonatomic) BOOL isEmote; @property(readonly, nonatomic) NSArray *inlineAttachmentAttributesArray; @property(readonly, nonatomic) BOOL hasInlineAttachments; @property(readonly, nonatomic) BOOL isSent; @property(readonly, nonatomic) BOOL isLocatingMessage; @property(readonly, nonatomic) BOOL isTypingMessage; @property(readonly, nonatomic) BOOL isFinished; @property(readonly, nonatomic) BOOL hasDataDetectorResults; @property(readonly, nonatomic) NSString *summaryString; @property(readonly, nonatomic) NSString *senderName; @property(readonly, nonatomic) NSString *plainBody; - (id)initWithSender:(id)arg1 fileTransfer:(id)arg2; - (id)initWithSender:(id)arg1 time:(id)arg2 text:(id)arg3 messageSubject:(id)arg4 fileTransferGUIDs:(id)arg5 flags:(unsigned long long)arg6 error:(id)arg7 guid:(id)arg8 subject:(id)arg9 associatedMessageGUID:(id)arg10 associatedMessageType:(long long)arg11 associatedMessageRange:(struct _NSRange)arg12 messageSummaryInfo:(id)arg13; - (id)initWithSender:(id)arg1 time:(id)arg2 text:(id)arg3 messageSubject:(id)arg4 fileTransferGUIDs:(id)arg5 flags:(unsigned long long)arg6 error:(id)arg7 guid:(id)arg8 subject:(id)arg9 balloonBundleID:(id)arg10 payloadData:(id)arg11 expressiveSendStyleID:(id)arg12; - (id)initWithSender:(id)arg1 time:(id)arg2 text:(id)arg3 fileTransferGUIDs:(id)arg4 flags:(unsigned long long)arg5 error:(id)arg6 guid:(id)arg7 subject:(id)arg8; - (id)initWithSender:(id)arg1 time:(id)arg2 text:(id)arg3 messageSubject:(id)arg4 fileTransferGUIDs:(id)arg5 flags:(unsigned long long)arg6 error:(id)arg7 guid:(id)arg8 subject:(id)arg9; - (id)_initWithSender:(id)arg1 time:(id)arg2 timeRead:(id)arg3 timeDelivered:(id)arg4 timePlayed:(id)arg5 plainText:(id)arg6 text:(id)arg7 messageSubject:(id)arg8 fileTransferGUIDs:(id)arg9 flags:(unsigned long long)arg10 error:(id)arg11 guid:(id)arg12 messageID:(long long)arg13 subject:(id)arg14 balloonBundleID:(id)arg15 payloadData:(id)arg16 expressiveSendStyleID:(id)arg17 timeExpressiveSendPlayed:(id)arg18 associatedMessageGUID:(id)arg19 associatedMessageType:(long long)arg20 associatedMessageRange:(struct _NSRange)arg21 messageSummaryInfo:(id)arg22; - (id)_copyWithFlags:(unsigned long long)arg1; - (id)copyWithZone:(struct _NSZone *)arg1; - (id)descriptionForPurpose:(IMMessageDescriptionType)arg1 inChat:(id)arg2; - (id)descriptionForPurpose:(IMMessageDescriptionType)arg1; - (void)_ovverrideGUIDForTest:(id)arg1; @property(readonly, nonatomic) BOOL isAssociatedMessage; - (id)initWithSender:(id)arg1 time:(id)arg2 text:(id)arg3 messageSubject:(id)arg4 fileTransferGUIDs:(id)arg5 flags:(unsigned long long)arg6 error:(id)arg7 guid:(id)arg8 subject:(id)arg9 associatedMessageGUID:(id)arg10 associatedMessageType:(long long)arg11 associatedMessageRange:(struct _NSRange)arg12 associatedMessageInfo:(id)arg13; @end @interface IMChatRegistry : NSObject { NSMutableArray *_allChats; NSMutableDictionary *_chatGUIDToCurrentThreadMap; NSMutableDictionary *_chatGUIDToInfoMap; NSMutableDictionary *_chatGUIDToChatMap; NSMutableDictionary *_threadNameToChatMap; NSMutableDictionary *_chatGUIDToiMessageSentOrReceivedMap; NSMutableArray *_allChatsInThreadNameMap; NSMutableArray *_pendingQueries; NSMutableArray *_waitingForQueries; NSString *_historyModificationStamp; NSMutableDictionary *_queryCompletionBlocks; double _timerStartTimeInterval; BOOL _firstLoad; BOOL _loading; BOOL _daemonHadTerminated; BOOL _wantsHistoryReload; BOOL _postMessageSentNotifications; BOOL _isInternalInstall; unsigned long long _defaultNumberOfMessagesToLoad; unsigned long long _daemonUnreadCount; long long _daemonLastFailedMessageDate; NSUserActivity *_userActivity; NSMutableDictionary *_chatsBeingLoadedMap; NSMutableDictionary *_chatPersonIDToChatMap; NSMutableDictionary *_groupIDToChatMap; NSMutableDictionary *_groupParticipantToChatsMap; NSSet *_registryChangeHistoryChatsToObserve; NSSet *_registryChangeHistoryChatsToUnregister; BOOL _personaKitRetriveAPITimedOut; NSArray *_simulatedChats; IMChatRegistry *_batchProcessingRegistry; NSObject *_batchProcessingQueue; NSMutableArray *_updateBlocks; NSArray *_preExistingAllChats; // TUConversationManager *_conversationManager; NSDictionary *_chatIdToLastMessageItemMap; } + (Class)messageClass; + (void)setMessageClass:(Class)arg1; + (id)sharedInstance; + (id)performanceLogHandle; + (void)setHasInitializedChatFiltering:(BOOL)arg1; + (BOOL)hasInitializedChatFiltering; @property(retain, nonatomic) NSDictionary *chatIdToLastMessageItemMap; // @synthesize chatIdToLastMessageItemMap=_chatIdToLastMessageItemMap; //@property(readonly, nonatomic) TUConversationManager *conversationManager; // @synthesize conversationManager=_conversationManager; @property(retain, nonatomic) NSArray *preExistingAllChats; // @synthesize preExistingAllChats=_preExistingAllChats; @property(retain, nonatomic) NSMutableArray *updateBlocks; // @synthesize updateBlocks=_updateBlocks; @property(retain, nonatomic) NSObject *batchProcessingQueue; // @synthesize batchProcessingQueue=_batchProcessingQueue; @property(retain, nonatomic) IMChatRegistry *batchProcessingRegistry; // @synthesize batchProcessingRegistry=_batchProcessingRegistry; @property(retain, nonatomic, setter=_setSimulatedChats:) NSArray *simulatedChats; // @synthesize simulatedChats=_simulatedChats; @property(nonatomic) BOOL personaKitRetriveAPITimedOut; // @synthesize personaKitRetriveAPITimedOut=_personaKitRetriveAPITimedOut; @property(nonatomic, setter=_setPostMessageSentNotifications:) BOOL _postMessageSentNotifications; // @synthesize _postMessageSentNotifications; @property(readonly, nonatomic) BOOL _isLoading; // @synthesize _isLoading=_loading; @property(nonatomic, setter=_setDefaultNumberOfMessagesToLoad:) unsigned long long _defaultNumberOfMessagesToLoad; // @synthesize _defaultNumberOfMessagesToLoad; @property(readonly, nonatomic) BOOL isBatchProcessing; - (void)_setMetaDictionary:(id)arg1 forKey:(id)arg2; - (id)_transcriptRenderingMetaDictionaryForKey:(id)arg1; - (double)_maxDurationForScrutinyMode; - (BOOL)_firstLoad; - (void)systemApplicationDidResume; - (void)_clearMarkAsReadTimerIfNecessary; - (void)_startMarkAsReadTimerIfNecessary; - (void)_registerCompletion:(CDUnknownBlockType)arg1 forQueryID:(id)arg2; - (void)_chat:(id)arg1 handleCompletionOfQuery:(id)arg2 withUserInfo:(id)arg3 success:(BOOL)arg4 error:(id)arg5; - (void)_blockUntilQueriesComplete:(id)arg1; - (void)__blockUntilQueriesComplete; - (id)_chatGUIDToChatMap; - (id)_chatsWithMessageGUID:(id)arg1; - (id)_chatsWithMessage:(id)arg1; - (id)_allGUIDsForChat:(id)arg1; - (void)_handleAddressBookChange:(id)arg1; - (void)handleIMChatParticipantsDidChange:(id)arg1; - (id)loadChatFromDaemonWithChatIdentifier:(id)arg1; - (id)_sortedParticipantIDHashForParticipants:(id)arg1; - (void)_addChat:(id)arg1 participantSet:(id)arg2; - (void)_removeFromGroupParticipantToChatsMap:(id)arg1; - (void)_resetChatReconstructionGroupMaps; - (id)_chatForChatDictionary:(id)arg1 items:(id)arg2 allowCreate:(BOOL)arg3 createdChat:(char *)arg4 outGUID:(id *)arg5; - (id)existingChatForRoom:(id)arg1 onAccount:(id)arg2 allowRetargeting:(BOOL)arg3; - (id)existingChatForIMHandles:(id)arg1 allowRetargeting:(BOOL)arg2; - (id)existingChatForIMHandles:(id)arg1 allowRetargeting:(BOOL)arg2 groupID:(id)arg3 displayName:(id)arg4 joinedChatsOnly:(BOOL)arg5; - (id)existingChatForIMHandles:(id)arg1 allowRetargeting:(BOOL)arg2 groupID:(id)arg3 displayName:(id)arg4 ignoresDisplayName:(BOOL)arg5 joinedChatsOnly:(BOOL)arg6; - (id)existingChatForAddresses:(id)arg1 allowRetargeting:(BOOL)arg2 bestHandles:(id *)arg3; - (id)existingChatForIMHandles:(id)arg1 allowRetargeting:(BOOL)arg2 groupID:(id)arg3; - (id)existingChatForIMHandle:(id)arg1 allowRetargeting:(BOOL)arg2; - (id)existingConversationForTUConversationUUID:(id)arg1; - (id)existingChatForEngramID:(id)arg1; - (id)exisitingChatForGroupID:(id)arg1; - (id)existingChatForRoom:(id)arg1 onAccount:(id)arg2; - (id)existingChatForIMHandles:(id)arg1; - (id)existingChatForIMHandle:(id)arg1; - (id)existingChatWithGUID:(id)arg1; - (id)existingChatForPersonID:(id)arg1; - (id)existingChatWithChatIdentifier:(id)arg1; - (id)existingChatWithGroupID:(id)arg1; - (id)_lookupExistingChatWithIMHandle:(id)arg1; - (id)_existingChatWithIdentifier:(id)arg1 style:(unsigned char)arg2 account:(id)arg3; - (id)_existingChatWithIdentifier:(id)arg1 style:(unsigned char)arg2 service:(id)arg3; @property(readonly, nonatomic) NSArray *allExistingChats; @property(readonly, nonatomic) unsigned long long numberOfExistingChats; - (void)_setChatHasCommunicatedOveriMessage:(id)arg1; - (BOOL)_hasChat:(id)arg1 forService:(id)arg2; - (void)markMessageAsNotCorrupt:(id)arg1; - (void)markMessageAsCorrupt:(id)arg1; // - (unsigned long long)countByEnumeratingWithState:(CDStruct_70511ce9 *)arg1 objects:(id *)arg2 count:(unsigned long long)arg3; - (long long)lastFailedMessageDate; - (unsigned long long)unreadCount; - (id)registryChangeHistoryChatsToObserveSet; - (id)registryChangeHistoryChatsToUnregisterSet; - (id)_createdChatForRoom:(id)arg1 onAccount:(id)arg2; - (id)_createdChatForIMHandles:(id)arg1 style:(unsigned char)arg2 groupID:(id)arg3 displayName:(id)arg4 joinedChatsOnly:(BOOL)arg5; - (id)_createdChatForIMHandle:(id)arg1; - (id)_createdChatWithIdentifier:(id)arg1 style:(unsigned char)arg2 account:(id)arg3; - (id)_allCreatedChats; - (void)setUserActivityForChat:(id)arg1 message:(id)arg2 orHandles:(id)arg3 title:(id)arg4; - (id)_inPersonFromIMHandle:(id)arg1; - (id)_inPersonNameForContact:(id)arg1 imHandle:(id)arg2; - (id)_inPersonHandleFromIMHandle:(id)arg1 contact:(id)arg2; - (void)setUserActivityForChat:(id)arg1 orHandles:(id)arg2 title:(id)arg3; - (void)setActiveChatURL:(id)arg1; - (id)chatForURL:(id)arg1 outMessageText:(id *)arg2 outRecipientIDs:(id *)arg3 outService:(id *)arg4 outMessageGUID:(id *)arg5; - (id)messagesURLWithChat:(id)arg1 orHandles:(id)arg2 withMessageText:(id)arg3; - (id)chatForRoom:(id)arg1 onAccount:(id)arg2; - (id)chatForIMHandles:(id)arg1 chatName:(id)arg2 lastAddressedHandle:(id)arg3 lastAddressedSIMID:(id)arg4; - (id)chatForIMHandles:(id)arg1 chatName:(id)arg2; - (id)chatForIMHandles:(id)arg1 displayName:(id)arg2 joinedChatsOnly:(BOOL)arg3 lastAddressedHandle:(id)arg4 lastAddressedSIMID:(id)arg5; - (id)chatForIMHandles:(id)arg1 displayName:(id)arg2 joinedChatsOnly:(BOOL)arg3; - (id)chatForIMHandles:(id)arg1 lastAddressedHandle:(id)arg2 lastAddressedSIMID:(id)arg3; - (id)chatForIMHandles:(id)arg1; - (id)chatForIMHandle:(id)arg1 lastAddressedHandle:(id)arg2 lastAddressedSIMID:(id)arg3; - (id)chatForIMHandle:(id)arg1; - (void)_unregisterChatWithGUID:(id)arg1; - (void)_unregisterChat:(id)arg1; - (void)unregisterChatWithGUID:(id)arg1; - (void)unregisterChat:(id)arg1; - (void)_registerChat:(id)arg1 isIncoming:(BOOL)arg2 guid:(id)arg3; - (void)_registerChatDictionary:(id)arg1 forChat:(id)arg2 isIncoming:(BOOL)arg3 newGUID:(id)arg4; - (void)_registerChatDictionary:(id)arg1 forChat:(id)arg2 isIncoming:(BOOL)arg3 newGUID:(id)arg4 shouldPostNotification:(BOOL)arg5; - (void)dealloc; - (id)init; - (id)_chatInstanceForGUID:(id)arg1; - (void)_noteChatDealloc:(id)arg1; - (void)_noteChatInit:(id)arg1; - (id)performanceLogHandle; - (void)_postMultiWayStateChangedNotification:(id)arg1; - (void)conversationManager:(id)arg1 removedActiveConversation:(id)arg2; - (void)conversationManager:(id)arg1 activeRemoteParticipantsChangedForConversation:(id)arg2; - (void)conversationManager:(id)arg1 stateChangedForConversation:(id)arg2; - (id)_existingChatForTUConversation:(id)arg1; - (id)_activeTUConversations; - (id)activeCallForConversationUUID:(id)arg1; - (void)setUpInitialCallState; - (void)verifyFilteringForAllChats; - (void)_IMChatGetIdentifiersAndServicesTestHook:(id)arg1 identifiers:(id *)arg2 services:(id *)arg3 personCentricEnabled:(BOOL)arg4; - (void)_chat_closeSession:(id)arg1; - (void)_chat_isDownloadingPurgedAssetsForChat:(id)arg1 queryID:(id)arg2; - (void)_chat_downloadPurgedAttachmentsForChat:(id)arg1; - (void)_chat_loadUncachedAttachmentsCount:(id)arg1 queryID:(id)arg2; - (void)_chat_loadAttachments:(id)arg1 queryID:(id)arg2; - (void)_chat_loadUnreadMessages:(id)arg1 limit:(unsigned long long)arg2 fallbackGUID:(id)arg3 queryId:(id)arg4; - (void)_chat_loadFrequentReplies:(id)arg1 limit:(unsigned long long)arg2 queryID:(id)arg3; - (void)_chat_markAsSpam:(id)arg1 queryID:(id)arg2 autoReport:(BOOL)arg3; - (void)_chat_markAsSpamAutomatically:(id)arg1; - (void)_chat_markAsSpam:(id)arg1 queryID:(id)arg2; - (void)_chat_clearHistory:(id)arg1 beforeGUID:(id)arg2 afterGUID:(id)arg3 queryID:(id)arg4; - (void)_chat_loadPagedHistory:(id)arg1 numberOfMessagesBefore:(unsigned long long)arg2 numberOfMessagesAfter:(unsigned long long)arg3 messageGUID:(id)arg4 queryID:(id)arg5; - (void)_chat_loadHistory:(id)arg1 limit:(unsigned long long)arg2 beforeGUID:(id)arg3 afterGUID:(id)arg4 queryID:(id)arg5; - (void)_chat:(id)arg1 updateIsFiltered:(BOOL)arg2; - (void)_chat:(id)arg1 updateLastAddressedSIMID:(id)arg2; - (void)_chat:(id)arg1 updateLastAddressedHandle:(id)arg2; - (void)_chat:(id)arg1 updateDisplayName:(id)arg2; - (void)_chat:(id)arg1 setValue:(id)arg2 forChatProperty:(id)arg3; - (void)_chat:(id)arg1 setProperties:(id)arg2 ofParticipant:(id)arg3; - (void)_chat_declineInvitation:(id)arg1; - (void)_chat_archive:(id)arg1; - (void)_chat_remove:(id)arg1; - (void)_chat_leave:(id)arg1 leavingiMessageChat:(BOOL)arg2; - (void)_chat:(id)arg1 joinWithProperties:(id)arg2; - (void)_chat:(id)arg1 removeParticipants:(id)arg2 reason:(id)arg3 fromiMessageChat:(BOOL)arg4; - (void)_chat:(id)arg1 inviteParticipants:(id)arg2 reason:(id)arg3 toiMessageChat:(BOOL)arg4; - (void)_chat:(id)arg1 sendMessage:(id)arg2; - (void)_trackUsageForMessage:(id)arg1; - (id)_eventForMessage:(id)arg1; - (void)_markHasHadSuccessfulQueryForChat:(id)arg1; - (void)_chat:(id)arg1 sendSavedReceiptForMessage:(id)arg2; - (void)_chat:(id)arg1 setPlayedExpressiveSendForMessage:(id)arg2; - (void)_chat:(id)arg1 sendPlayedReceiptForMessage:(id)arg2; - (void)_chat_storeItem:(id)arg1 inChat:(id)arg2; - (void)_chat_sendReadReceiptForAllMessages:(id)arg1; - (void)_chat:(id)arg1 sendReadReceiptForMessages:(id)arg2; - (void)_removeChatIdFromChatIdToLastMessageItemMap:(id)arg1; - (void)lastMessageForAllChats:(id)arg1; - (void)chatLoadedWithChatIdentifier:(id)arg1 chats:(id)arg2; - (void)_chatLoadedWithChatIdentifier:(id)arg1 chats:(id)arg2; - (void)setupComplete; - (void)_daemonReallyDied:(id)arg1; - (void)setupComplete:(BOOL)arg1 info:(id)arg2; - (void)__handleChatReconstructions:(id)arg1; - (void)_handleChatReconstructions:(id)arg1; - (void)__handleMergedChatReconstructions:(id)arg1 fullReload:(BOOL)arg2; - (void)updateChatDictionaryArray:(id)arg1 createdChat:(id)arg2 joinstate:(long long)arg3 setHasCommunicatedOveriMessage:(char *)arg4; - (void)__handleMergedChatReconstructions:(id)arg1; - (void)_resetChatRegistry; - (id)chatPersonIDToChatMap; - (void)_handleMergedChatReconstructions:(id)arg1; - (id)_copyMergedChatsPairedArrayFromMergedChatsArray:(id)arg1; - (void)chatsNeedRemerging:(id)arg1 groupedChats:(id)arg2; - (void)frequentRepliesQuery:(id)arg1 finishedWithResult:(id)arg2 limit:(unsigned long long)arg3; - (void)frequentRepliesQuery:(id)arg1 chatID:(id)arg2 services:(id)arg3 finishedWithResult:(id)arg4 limit:(unsigned long long)arg5; - (void)markAsSpamQuery:(id)arg1 chatID:(id)arg2 services:(id)arg3 finishedWithResult:(id)arg4; - (void)isDownloadingQuery:(id)arg1 chatID:(id)arg2 services:(id)arg3 finishedWithResult:(BOOL)arg4; - (void)downloadedPurgedAssetBatchForChatIDs:(id)arg1 completedTransferGUIDs:(id)arg2; - (void)finishedDownloadingPurgedAssetsForChatIDs:(id)arg1; - (id)_chatForIdentifiers:(id)arg1; - (void)uncachedAttachmentCountQuery:(id)arg1 chatID:(id)arg2 services:(id)arg3 finishedWithResult:(id)arg4; - (void)attachmentQuery:(id)arg1 chatID:(id)arg2 services:(id)arg3 finishedWithResult:(id)arg4; - (void)pagedHistoryQuery:(id)arg1 chatID:(id)arg2 services:(id)arg3 numberOfMessagesBefore:(unsigned long long)arg4 numberOfMessagesAfter:(unsigned long long)arg5 finishedWithResult:(id)arg6; - (void)historyQuery:(id)arg1 chatID:(id)arg2 services:(id)arg3 finishedWithResult:(id)arg4 limit:(unsigned long long)arg5; - (void)_checkIfItemIsCorrupt:(id)arg1; - (void)_checkLimitAndSetMessagesToKeepLoadedIfNeeded:(unsigned long long)arg1 chat:(id)arg2; - (void)historicalMessageGUIDsDeleted:(id)arg1 chatGUIDs:(id)arg2 queryID:(id)arg3; - (void)lastFailedMessageDateChanged:(long long)arg1; - (void)unreadCountChanged:(long long)arg1; - (void)chat:(id)arg1 updated:(id)arg2; - (void)_updateInfo:(id)arg1 forGUID:(id)arg2 updatingUnreadCount:(BOOL)arg3 shouldPostUnreadNotification:(BOOL)arg4; - (void)_updateInfo:(id)arg1 forGUID:(id)arg2 updatingUnreadCount:(BOOL)arg3; - (void)_updateUnreadCountForChat:(id)arg1 shouldPostNotification:(BOOL)arg2; - (void)_updateUnreadCountForChat:(id)arg1; - (void)engroupParticipantsUpdatedForChat:(id)arg1; - (void)chat:(id)arg1 engramIDUpdated:(id)arg2; - (void)chat:(id)arg1 isFilteredUpdated:(BOOL)arg2; - (void)chat:(id)arg1 lastAddressedSIMIDUpdated:(id)arg2; - (void)chat:(id)arg1 lastAddressedHandleUpdated:(id)arg2; - (void)chat:(id)arg1 displayNameUpdated:(id)arg2; - (void)chat:(id)arg1 propertiesUpdated:(id)arg2; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 member:(id)arg5 statusChanged:(int)arg6; - (void)leftChat:(id)arg1; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 groupID:(id)arg5 chatPersonCentricID:(id)arg6 statusChanged:(int)arg7 handleInfo:(id)arg8; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 error:(id)arg5; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 updateProperties:(id)arg5; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 invitationReceived:(id)arg5; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 groupID:(id)arg5 chatPersonCentricID:(id)arg6 messagesReceived:(id)arg7; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 groupID:(id)arg5 chatPersonCentricID:(id)arg6 messageReceived:(id)arg7; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 notifySentMessage:(id)arg5 sendTime:(id)arg6; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 groupID:(id)arg5 chatPersonCentricID:(id)arg6 messageSent:(id)arg7; - (void)_processMessageForAccount:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 groupID:(id)arg5 chatPersonCentricID:(id)arg6 message:(id)arg7; - (id)_existingChatForChatStyle:(unsigned char)arg1 groupID:(id)arg2 chatIdentifier:(id)arg3 accountID:(id)arg4; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 messageUpdated:(id)arg5; - (void)account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 messagesUpdated:(id)arg5; - (void)_account:(id)arg1 chat:(id)arg2 style:(unsigned char)arg3 chatProperties:(id)arg4 messagesUpdated:(id)arg5; - (void)loadedChats:(id)arg1; - (void)_startBackgroundProcessingChats:(id)arg1 completion:(CDUnknownBlockType)arg2; - (void)mergeWithCopyRegistry:(id)arg1; - (id)copyForBatchProcessing; - (void)enumerateAllChatsAndIncludingSyncedAttachmentSizes:(BOOL)arg1 usingBlock:(CDUnknownBlockType)arg2; // Remaining properties @property(readonly, copy) NSString *debugDescription; @property(readonly, copy) NSString *description; @property(readonly) unsigned long long hash; @property(readonly) Class superclass; @end @interface IMSimulatedChat : IMChat // { // id _delegate; IMSimulatedAccount *_simulatedAccount; unsigned long long _currentMessageID; NSString *_simulatedChatIdentifier; NSMutableArray *_simulatedAttachments; NSString *_simulatedDisplayName; } @property(copy, nonatomic) NSString *simulatedDisplayName; // @synthesize simulatedDisplayName=_simulatedDisplayName; @property(readonly, nonatomic) NSMutableArray *simulatedAttachments; // @synthesize simulatedAttachments=_simulatedAttachments; @property(copy, nonatomic) NSString *simulatedChatIdentifier; // @synthesize simulatedChatIdentifier=_simulatedChatIdentifier; @property(readonly, nonatomic) unsigned long long currentMessageID; // @synthesize currentMessageID=_currentMessageID; @property(readonly, nonatomic) IMSimulatedAccount *simulatedAccount; // @synthesize simulatedAccount=_simulatedAccount; //@property(nonatomic) __weak id delegate; // @synthesize delegate=_delegate; - (id)_messageWithGUID:(id)arg1; - (void)simulatedDaemon:(id)arg1 willSendBalloonPayload:(id)arg2 attachments:(id)arg3 messageGUID:(id)arg4 bundleID:(id)arg5; - (void)chat:(id)arg1 didSendMessage:(id)arg2; - (void)markAsAutoSpamReported; - (id)attachments; - (id)loadMessagesBeforeDate:(id)arg1 limit:(unsigned long long)arg2 loadImmediately:(BOOL)arg3; - (long long)joinState; - (void)setDisplayName:(id)arg1; - (id)displayName; - (id)account; - (id)chatIdentifier; - (BOOL)_handleIncomingItem:(id)arg1; - (void)sendMessage:(id)arg1; - (id)initWithIncomingIDs:(id)arg1 messageIDOffset:(unsigned long long)arg2 account:(id)arg3; @end @interface IMOneTimeCodeAccelerator : NSObject { BOOL _requestedOneTimeCodeStatusForConnection; IMDaemonController *_daemon; CDUnknownBlockType _updateBlock; } @property(nonatomic) BOOL requestedOneTimeCodeStatusForConnection; // @synthesize requestedOneTimeCodeStatusForConnection=_requestedOneTimeCodeStatusForConnection; @property(copy, nonatomic) CDUnknownBlockType updateBlock; // @synthesize updateBlock=_updateBlock; @property(retain, nonatomic) IMDaemonController *daemon; // @synthesize daemon=_daemon; - (void)daemonConnectionLost; - (void)daemonControllerDidDisconnect; - (void)daemonControllerDidConnect; - (void)daemonControllerWillConnect; - (void)_incomingCodeUpdateFromDaemon:(id)arg1; - (void)setUpConnectionToDaemaon; - (void)dealloc; - (id)initWithDaemon:(id)arg1 andBlock:(CDUnknownBlockType)arg2; - (void)consumeCodeWithGuid:(id)arg1; - (id)initWithBlockForUpdates:(CDUnknownBlockType)arg1; @end @interface IMPersonRegistrar : NSObject { NSMutableDictionary *_personMap; } + (id)sharedInstance; @property(retain) NSMutableDictionary *_personMap; // @synthesize _personMap; - (void)_dumpAllPersons; - (id)personForUniqueID:(id)arg1; - (void)unregisterPerson:(id)arg1; - (void)registerPerson:(id)arg1; @end @interface IMCloudKitSyncProgress : NSObject { BOOL _shouldShowProgressBar; BOOL _shouldShowIndeterminateProgress; BOOL _shouldShowUserActionLabel; BOOL _shouldShowUserMessageLabel; NSString *_progressLabel; double _progressBarValue; double _progressBarMax; NSString *_userMessageLabel; NSString *_actionLabel; long long _actionType; IMCloudKitSyncState *_syncState; // IMCloudKitSyncStatistics *_syncStatistics; double _broadcastDeferralOverride; } @property(nonatomic) double broadcastDeferralOverride; // @synthesize broadcastDeferralOverride=_broadcastDeferralOverride; //@property(readonly, nonatomic) IMCloudKitSyncStatistics *syncStatistics; // @synthesize syncStatistics=_syncStatistics; @property(readonly, nonatomic) IMCloudKitSyncState *syncState; // @synthesize syncState=_syncState; @property(nonatomic) long long actionType; // @synthesize actionType=_actionType; @property(retain, nonatomic) NSString *actionLabel; // @synthesize actionLabel=_actionLabel; @property(retain, nonatomic) NSString *userMessageLabel; // @synthesize userMessageLabel=_userMessageLabel; @property(nonatomic) BOOL shouldShowUserMessageLabel; // @synthesize shouldShowUserMessageLabel=_shouldShowUserMessageLabel; @property(nonatomic) BOOL shouldShowUserActionLabel; // @synthesize shouldShowUserActionLabel=_shouldShowUserActionLabel; @property(nonatomic) double progressBarMax; // @synthesize progressBarMax=_progressBarMax; @property(nonatomic) double progressBarValue; // @synthesize progressBarValue=_progressBarValue; @property(nonatomic) BOOL shouldShowIndeterminateProgress; // @synthesize shouldShowIndeterminateProgress=_shouldShowIndeterminateProgress; @property(nonatomic) BOOL shouldShowProgressBar; // @synthesize shouldShowProgressBar=_shouldShowProgressBar; @property(retain, nonatomic) NSString *progressLabel; // @synthesize progressLabel=_progressLabel; @property(readonly, nonatomic, getter=isHidden) BOOL hidden; // @dynamic hidden; @property(readonly, nonatomic) NSArray *errors; // @dynamic errors; @property(readonly, nonatomic) double remainingItems; // @dynamic remainingItems; @property(readonly, nonatomic) double percentComplete; // @dynamic percentComplete; - (id)description; - (void)configureSelf; @property(readonly, nonatomic) NSString *percentCompleteString; // @dynamic percentCompleteString; - (id)initWithSyncState:(id)arg1 syncStatistics:(id)arg2; - (id)init; @end @interface IMCloudKitSyncProgressIsSyncing : IMCloudKitSyncProgress { } - (void)configureSelf; @end @interface IMCloudKitPausedSyncProgress : IMCloudKitSyncProgress { } - (void)configureSelf; @end @interface IMCloudKitAccountNeedsRepairSyncProgress : IMCloudKitSyncProgress { } - (void)configureSelf; @end @interface IMCloudKitDeviceStorageIsFullSyncProgress : IMCloudKitSyncProgress { } - (void)configureSelf; @end @interface IMCloudKitCloudKitStorageIsFullSyncProgress : IMCloudKitSyncProgress { } - (void)configureSelf; @end @interface IMCloudKitHiddenSyncProgress : IMCloudKitSyncProgress { } - (id)description; - (BOOL)isHidden; @end @interface IMCloudKitKeyRollPendingErrorProgress : IMCloudKitSyncProgress { } - (void)configureSelf; @end @interface IMAddressBook : NSObject { } + (BOOL)addressBookEnabled; + (void)setAddressBookEnabled:(BOOL)arg1; + (id)abAddressBook; + (void)_watchLocaleChanges; + (void)_localeChanged:(id)arg1; @end @interface IMBalloonApp : NSObject { BOOL _isBetaPlugin; BOOL _isLaunchProhibited; BOOL _isStickerPackOnly; BOOL _showInBrowser; BOOL _shouldBalloonHideAppIcon; BOOL _shouldHideAppSwitcher; BOOL _canSendDataPayloads; BOOL _pluginLoaded; Class _browserClass; Class _dataSourceClass; Class _customTypingIndicatorLayerClass; Class _bubbleClass; Class _entryClass; NSBundle *_appBundle; NSBundle *_pluginBundle; NSNumber *_itemID; NSString *_browserDisplayName; NSString *_identifier; NSString *_version; // id _plugin; unsigned long long _presentationContexts; } + (unsigned long long)presentationContextsForInfoPlistArray:(id)arg1 isStickerPackOnly:(BOOL)arg2; + (void)_setUnremovableDisabledApps:(id)arg1; + (id)_unremovableDisabledApps; + (id)appWithPluginBundle:(id)arg1 appBundle:(id)arg2; + (id)appWithPluginBundle:(id)arg1; + (id)appWithPluginBundle:(id)arg1 extension:(id)arg2; + (id)appWithPluginBundle:(id)arg1 pluginKitProxy:(id)arg2 extension:(id)arg3; @property(nonatomic) BOOL pluginLoaded; // @synthesize pluginLoaded=_pluginLoaded; @property(nonatomic) unsigned long long presentationContexts; // @synthesize presentationContexts=_presentationContexts; //@property(retain, nonatomic) id plugin; // @synthesize plugin=_plugin; @property(readonly, nonatomic) NSString *version; // @synthesize version=_version; @property(retain, nonatomic) NSString *identifier; // @synthesize identifier=_identifier; @property(retain, nonatomic) NSString *browserDisplayName; // @synthesize browserDisplayName=_browserDisplayName; @property(retain, nonatomic) NSNumber *itemID; // @synthesize itemID=_itemID; @property(retain, nonatomic) NSBundle *pluginBundle; // @synthesize pluginBundle=_pluginBundle; @property(retain, nonatomic) NSBundle *appBundle; // @synthesize appBundle=_appBundle; @property(nonatomic) BOOL canSendDataPayloads; // @synthesize canSendDataPayloads=_canSendDataPayloads; @property(nonatomic) BOOL shouldHideAppSwitcher; // @synthesize shouldHideAppSwitcher=_shouldHideAppSwitcher; @property(nonatomic) BOOL shouldBalloonHideAppIcon; // @synthesize shouldBalloonHideAppIcon=_shouldBalloonHideAppIcon; @property(nonatomic) BOOL showInBrowser; // @synthesize showInBrowser=_showInBrowser; @property(readonly, nonatomic) BOOL isStickerPackOnly; // @synthesize isStickerPackOnly=_isStickerPackOnly; @property(nonatomic) BOOL isLaunchProhibited; // @synthesize isLaunchProhibited=_isLaunchProhibited; @property(readonly, nonatomic) BOOL isBetaPlugin; // @synthesize isBetaPlugin=_isBetaPlugin; @property(retain, nonatomic) Class entryClass; // @synthesize entryClass=_entryClass; @property(retain, nonatomic) Class bubbleClass; // @synthesize bubbleClass=_bubbleClass; @property(retain, nonatomic) Class customTypingIndicatorLayerClass; // @synthesize customTypingIndicatorLayerClass=_customTypingIndicatorLayerClass; @property(retain, nonatomic) Class dataSourceClass; // @synthesize dataSourceClass=_dataSourceClass; @property(retain, nonatomic) Class browserClass; // @synthesize browserClass=_browserClass; @property(nonatomic) BOOL isEnabled; - (id)proxyWithErrorHandle:(CDUnknownBlockType)arg1; - (id)extensionConnection; - (void)_loadBundle; - (id)initWithPluginBundle:(id)arg1 appBundle:(id)arg2; @end @interface IMActionsController : NSObject { } + (id)actionsController; @end @interface IMIDStatusController : NSObject { NSRecursiveLock *_servicesLock; NSMutableSet *_servicesRegistered; } + (id)sharedInstance; @property(retain, nonatomic) NSMutableSet *_servicesRegistered; // @synthesize _servicesRegistered; @property(retain, nonatomic) NSRecursiveLock *_servicesLock; // @synthesize _servicesLock; - (long long)statusForID:(id)arg1 onService:(id)arg2; - (void)requestStatusForID:(id)arg1 onAccount:(id)arg2; - (void)requestStatusForID:(id)arg1 onService:(id)arg2; - (void)_requestStatusForID:(id)arg1 onService:(id)arg2 onAccount:(id)arg3; - (long long)_idStatusForID:(id)arg1 onAccount:(id)arg2; - (long long)_statusForCanonicalizedID:(id)arg1 onService:(id)arg2; - (long long)_idStatusForID:(id)arg1 onService:(id)arg2; - (long long)__statusForID:(id)arg1 onService:(id)arg2 isCanonicalized:(BOOL)arg3; - (void)_processIDStatusResponseForURI:(id)arg1 resultStatus:(long long)arg2 forService:(id)arg3; - (id)init; @end @interface IMBalloonPlugin : NSObject { BOOL _pluginLoaded; NSString *_browserImageName; NSString *_browserImagePath; long long _browserGroup; NSBundle *_bundle; // id _plugin; IMBalloonApp *_app; NSMutableDictionary *_messageToDatasourceMap; NSMutableDictionary *_messageToBalloonControllerMap; Class _bubbleClass; Class _browserClass; Class _dataSourceClass; Class _customTypingIndicatorLayerClass; Class _entryClass; NSMutableArray *_balloonControllerPool; } @property(retain, nonatomic) NSMutableArray *balloonControllerPool; // @synthesize balloonControllerPool=_balloonControllerPool; @property(retain, nonatomic) Class entryClass; // @synthesize entryClass=_entryClass; @property(retain, nonatomic) Class customTypingIndicatorLayerClass; // @synthesize customTypingIndicatorLayerClass=_customTypingIndicatorLayerClass; @property(retain, nonatomic) Class dataSourceClass; // @synthesize dataSourceClass=_dataSourceClass; @property(retain, nonatomic) Class browserClass; // @synthesize browserClass=_browserClass; @property(retain, nonatomic) Class bubbleClass; // @synthesize bubbleClass=_bubbleClass; @property(retain, nonatomic) NSMutableDictionary *messageToBalloonControllerMap; // @synthesize messageToBalloonControllerMap=_messageToBalloonControllerMap; @property(retain, nonatomic) NSMutableDictionary *messageToDatasourceMap; // @synthesize messageToDatasourceMap=_messageToDatasourceMap; @property(retain, nonatomic) IMBalloonApp *app; // @synthesize app=_app; @property(nonatomic) BOOL pluginLoaded; // @synthesize pluginLoaded=_pluginLoaded; //@property(retain, nonatomic) id plugin; // @synthesize plugin=_plugin; @property(retain, nonatomic) NSBundle *bundle; // @synthesize bundle=_bundle; @property(nonatomic) long long browserGroup; // @synthesize browserGroup=_browserGroup; @property(retain, nonatomic) NSString *browserImagePath; // @synthesize browserImagePath=_browserImagePath; @property(retain, nonatomic) NSString *browserImageName; // @synthesize browserImageName=_browserImageName; @property(readonly, nonatomic) unsigned long long presentationContexts; - (void)setIdentifier:(id)arg1; @property(readonly, retain, nonatomic) NSBundle *pluginBundle; @property(readonly, retain, nonatomic) NSBundle *appBundle; @property(readonly, retain, nonatomic) NSString *browserDisplayName; - (BOOL)isStickerPackOnly; @property(readonly, nonatomic) BOOL shouldHideAppSwitcher; @property(readonly, nonatomic) BOOL isEnabled; @property(readonly, nonatomic) BOOL showInBrowser; @property(readonly, nonatomic, getter=isBetaPlugin) BOOL betaPlugin; @property(readonly, nonatomic) NSString *version; @property(readonly, retain, nonatomic) NSString *identifier; - (id)dataSourceForPluginPayload:(id)arg1; - (void)insertDataSource:(id)arg1 forGUID:(id)arg2; - (id)existingDataSourceForMessageGUID:(id)arg1; - (BOOL)supportsControllerReuse; - (void)removeController:(id)arg1 forChatItem:(id)arg2; - (void)moveController:(id)arg1 toReusePoolFromChatItem:(id)arg2; - (id)balloonControllerForChatItem:(id)arg1; - (id)existingBalloonControllerWithMessageGUID:(id)arg1; - (id)_getControllerFromReusePoolForChatItem:(id)arg1; - (void)unloadBundle; - (void)dealloc; - (id)initWithBundle:(id)arg1 app:(id)arg2; - (id)initWithBundle:(id)arg1; - (id)init; @end @interface IMBalloonBrowserPlugin : IMBalloonPlugin { } - (BOOL)isBetaPlugin; - (id)version; - (id)initWithIdentifier:(id)arg1 browserDisplayName:(id)arg2 browserImageName:(id)arg3 browserClass:(Class)arg4 presentationContext:(unsigned long long)arg5; - (id)initWithIdentifier:(id)arg1 browserDisplayName:(id)arg2 browserImageName:(id)arg3; @end @interface IMBalloonAppExtension : IMBalloonPlugin { BOOL _canSendDataPayloads; BOOL _shouldBalloonHideAppIcon; // NSExtension *_extension; // LSPlugInKitProxy *_proxy; NSUUID *_requestIdentifier; } @property(nonatomic) BOOL shouldBalloonHideAppIcon; // @synthesize shouldBalloonHideAppIcon=_shouldBalloonHideAppIcon; @property(nonatomic) BOOL canSendDataPayloads; // @synthesize canSendDataPayloads=_canSendDataPayloads; @property NSUUID *requestIdentifier; // @synthesize requestIdentifier=_requestIdentifier; //@property(retain, nonatomic) LSPlugInKitProxy *proxy; // @synthesize proxy=_proxy; //@property(readonly, retain, nonatomic) NSExtension *extension; // @synthesize extension=_extension; @property(readonly, retain, nonatomic) NSNumber *itemID; @property(readonly, nonatomic) BOOL isLaunchProhibited; //@property(readonly, retain, nonatomic) id plugin; - (BOOL)isBetaPlugin; - (id)version; - (id)proxyWithErrorHandle:(CDUnknownBlockType)arg1; - (id)extensionConnection; - (id)initWithPluginBundle:(id)arg1 appBundle:(id)arg2; - (id)_initWithPluginBundle:(id)arg1 extension:(id)arg2 pluginKitProxyClass:(Class)arg3; - (id)initWithPluginBundle:(id)arg1 extension:(id)arg2; - (id)initWithPluginBundle:(id)arg1 pluginKitProxy:(id)arg2 extension:(id)arg3; @end @interface IMBalloonPluginManager : NSObject { NSMutableDictionary *_pluginsMap; id _extensionMatchingContext; NSString *_pluginMetaDataFolder; NSMutableDictionary *_pluginIDToMetadataCache; NSMutableSet *_pluginsToRemoveAfterExtensionsUpdate; } + (BOOL)isRunningPPT; + (void)setIsRunningPPT:(BOOL)arg1; + (id)_extensionBlacklist; + (id)sharedInstance; @property(retain, nonatomic) NSMutableSet *pluginsToRemoveAfterExtensionsUpdate; // @synthesize pluginsToRemoveAfterExtensionsUpdate=_pluginsToRemoveAfterExtensionsUpdate; @property(retain, nonatomic) NSMutableDictionary *pluginIDToMetadataCache; // @synthesize pluginIDToMetadataCache=_pluginIDToMetadataCache; @property(retain, nonatomic) NSString *pluginMetaDataFolder; // @synthesize pluginMetaDataFolder=_pluginMetaDataFolder; @property(retain, nonatomic) id extensionMatchingContext; // @synthesize extensionMatchingContext=_extensionMatchingContext; @property(retain, nonatomic) NSMutableDictionary *pluginsMap; // @synthesize pluginsMap=_pluginsMap; - (id)balloonPluginForBundleID:(id)arg1; - (id)allPlugins; - (void)insertDataSource:(id)arg1 forGUID:(id)arg2; - (id)existingDataSourceForMessageGUID:(id)arg1 bundleID:(id)arg2; - (id)dataSourceForPluginPayload:(id)arg1; - (id)_fallBackMessagesExtensionPluginForBundleID:(id)arg1; - (Class)dataSourceClassForBundleID:(id)arg1; - (void)_loadAllDataSources; - (void)_findPluginsInPathInternal:(id)arg1; - (void)_findPluginsInPaths:(id)arg1; - (void)_moveExtensionDataSourcesFromMessagesExtensionPluginToAppExtensions; - (BOOL)_isExtensionBlackListed:(id)arg1; - (BOOL)_isServerBlackListedBundle:(id)arg1 serverBag:(id)arg2; - (void)setPluginEnabled:(BOOL)arg1 identifier:(id)arg2; - (void)_removePluginsForIdentifiers:(id)arg1; - (void)_removePluginsWithDelay; - (void)removePluginWithBundleID:(id)arg1; - (id)_insertPluginForExtension:(id)arg1 balloonProviderBundle:(id)arg2 andTimingCollection:(id)arg3; - (id)_insertPluginForAppBundle:(id)arg1 balloonProviderBundle:(id)arg2; - (void)_updatePluginsForExtensions:(id)arg1; - (void)_updatePluginsForBundles:(id)arg1; - (void)_setPluginsToRemoveAndCallSelectorWithDelay:(id)arg1; - (id)_appProxyBundleIdentifiersForAppPlugins; - (void)_loadAppBundleDataSources; - (void)_loadAppExtensionDataSources; - (void)_clearPluginMetadataForUninstalledApps; - (void)_deleteMetaDataForPlugins:(id)arg1; - (id)_pluginsForWhichWeHaveMetadata; - (id)_proxyIdentifiersForPlugins; - (id)_identifiersForAppPlugins; - (id)conversationID:(id)arg1 appID:(id)arg2; - (id)recipientIDForRecipient:(id)arg1 appID:(id)arg2; - (id)localParticipantIdentifierForAppID:(id)arg1 conversationID:(id)arg2; - (void)_storeMetadata:(id)arg1 _forPlugin:(id)arg2; - (id)_metadataForPluginIdentifier:(id)arg1; - (id)_infoPlistPathForPluginCreatingFolderIfNeeded:(id)arg1; - (id)_pluginPlistPath:(id)arg1; - (void)dealloc; - (void)pluginChatItem:(id)arg1 didRelenquishNonResuableController:(id)arg2; - (void)pluginChatItem:(id)arg1 didRelinquishReusableController:(id)arg2; - (id)init; @end @interface IMChatHistoryController : NSObject { NSMutableDictionary *_runningQueries; } + (id)sharedInstance; @property(retain) NSMutableDictionary *_runningQueries; // @synthesize _runningQueries; - (void)databaseNoLongerFull; - (void)databaseFull; - (void)messageQuery:(id)arg1 finishedWithResult:(id)arg2 chatGUIDs:(id)arg3; - (void)loadMessageWithGUID:(id)arg1 completionBlock:(CDUnknownBlockType)arg2; - (void)dealloc; - (id)init; @end @interface IMCoreAutomationHook : NSObject { IMAccount *_imessageAccount; } + (id)stringFromAutomationErrorCode:(long long)arg1; - (id)existingChatForGroupID:(id)arg1 error:(id *)arg2 results:(id)arg3; - (id)handlesFromStrings:(id)arg1 error:(id *)arg2 results:(id)arg3; - (id)chatForHandles:(id)arg1 error:(id *)arg2 results:(id)arg3; @property(readonly) IMAccount *bestiMessageAccount; @end @interface IMDDController : NSObject { NSObject *_scannerQueue; } + (id)sharedInstance; - (void)scanMessage:(id)arg1 waitUntilDone:(BOOL)arg2 completionBlock:(CDUnknownBlockType)arg3; - (BOOL)_scanMessageUsingScanner:(id)arg1 attributedString:(id)arg2; - (void)scanMessage:(id)arg1 completionBlock:(CDUnknownBlockType)arg2; - (id)scannerQueue; - (struct __DDScanner *)sharedScanner; - (id)init; @end @interface IMAutomationMessageSend : NSObject { NSMutableSet *_pendingSendGUIDs; NSMutableDictionary *_sentMessageInfo; } @property(retain, nonatomic) NSMutableDictionary *sentMessageInfo; // @synthesize sentMessageInfo=_sentMessageInfo; @property(retain, nonatomic) NSMutableSet *pendingSendGUIDs; // @synthesize pendingSendGUIDs=_pendingSendGUIDs; - (id)dictionaryFromGUID:(id)arg1; - (id)fileSizeForMessageGUID:(id)arg1 withFilePathIndex:(long long)arg2; - (id)uploadAttachmentToCloudkitWithMessageGUID:(id)arg1 andFilePathIndex:(long long)arg2; - (id)clearAttachmentsUploadedToCloudkit; - (id)deleteAttachmentWithMessageGUID:(id)arg1 andFilePathIndex:(long long)arg2; - (id)loadHighResolutionFileForMessageGUID:(id)arg1 withFilePathIndex:(long long)arg2; - (id)sendIMMessage:(id)arg1 chat:(id)arg2 timeOut:(double)arg3 resultDict:(id)arg4 error:(id *)arg5; - (id)sendMessage:(id)arg1 destinationID:(id)arg2 filePaths:(id)arg3 groupID:(id)arg4 bundleID:(id)arg5 attributionInfoName:(id)arg6 service:(id)arg7 timeOut:(double)arg8 error:(id *)arg9; - (id)sendMessage:(id)arg1 destinationID:(id)arg2 filePaths:(id)arg3 groupID:(id)arg4 service:(id)arg5 timeOut:(double)arg6 error:(id *)arg7; - (id)createIMMessageToSendWithMessage:(id)arg1 filePaths:(id)arg2 bundleID:(id)arg3 attributionInfoName:(id)arg4; - (id)init; - (id)appendFilePathsWithGUIDs:(id)arg1 withText:(id)arg2; - (void)deleteTmpFilePath:(id)arg1; - (id)copyFilePathsToTmpLocation:(id)arg1; @end @interface IMSimulatedAccountController : IMAccountController { NSMutableDictionary *_simulatedAccountsPerService; } - (id)init; - (id)activeSMSAccount; - (id)activeIMessageAccount; - (id)activeAccounts; - (void)setSimulatedAccounts:(id)arg1 forServiceNamed:(id)arg2; @end @interface IMSPIHandle : NSObject { NSString *_address; NSString *_countryCode; BOOL _isMe; IMPerson *_imPerson; BOOL _haveFetchedIMPerson; } @property(readonly) BOOL isMe; // @synthesize isMe=_isMe; @property(readonly) NSString *countryCode; // @synthesize countryCode=_countryCode; @property(readonly) NSString *address; // @synthesize address=_address; - (unsigned long long)hash; - (BOOL)isEqual:(id)arg1; @property(readonly) NSString *cnContactID; @property(readonly) NSString *displayName; - (id)person; @property(readonly) NSString *businessName; @property(readonly) BOOL isBusiness; - (id)description; - (id)initWithAddress:(id)arg1 countryCode:(id)arg2 isMe:(BOOL)arg3; @end @interface IMSPIRecentEvent : NSObject { NSString *_handle; NSDate *_date; NSString *_labelID; } @property(retain) NSString *labelID; // @synthesize labelID=_labelID; @property(retain) NSDate *date; // @synthesize date=_date; @property(retain) NSString *handle; // @synthesize handle=_handle; - (id)description; - (id)initWithLabelID:(id)arg1 date:(id)arg2; - (id)initWithHandle:(id)arg1 date:(id)arg2; @end @interface IMSPIAttachment : NSObject { NSString *_guid; NSURL *_fileUrl; long long _fileTransferState; NSString *_uti; BOOL _isSticker; BOOL _isOutgoing; NSDictionary *_attributionInfo; } @property(retain) NSDictionary *attributionInfo; // @synthesize attributionInfo=_attributionInfo; @property BOOL isOutgoing; // @synthesize isOutgoing=_isOutgoing; @property BOOL isSticker; // @synthesize isSticker=_isSticker; @property(retain) NSString *uti; // @synthesize uti=_uti; @property(retain) NSString *guid; // @synthesize guid=_guid; @property long long fileTransferState; // @synthesize fileTransferState=_fileTransferState; @property(retain) NSURL *fileUrl; // @synthesize fileUrl=_fileUrl; - (id)description; - (id)bundleID; - (id)initWithGuid:(id)arg1 fileUrl:(id)arg2 transferState:(long long)arg3 uti:(id)arg4 isSticker:(BOOL)arg5 isOutgoing:(BOOL)arg6 attributionInfo:(id)arg7; @end @interface IMSPIMessage : NSObject { NSString *_guid; NSArray *_chatGuids; NSString *_text; NSAttributedString *_attributedText; NSString *_subject; NSString *_effect; NSArray *_recipients; NSDate *_date; NSDate *_dateRead; NSDate *_lastReadDate; IMSPIHandle *_sender; long long _messageID; NSArray *_attachments; BOOL _isOutgoing; BOOL _isRead; BOOL _isAudioMessage; BOOL _isGroupChat; long long _itemType; NSString *_groupID; NSString *_chatIdentifier; NSString *_displayName; NSString *_service; IMSPIMessage *_referencedMessage; NSString *_bundleId; long long _messageType; NSString *_displayAppName; // LPLinkMetadata *_richLinkMetadata; // PKCurrencyAmount *_peerPaymentAmount; } //@property(retain) PKCurrencyAmount *peerPaymentAmount; // @synthesize peerPaymentAmount=_peerPaymentAmount; //@property(retain) LPLinkMetadata *richLinkMetadata; // @synthesize richLinkMetadata=_richLinkMetadata; @property(retain) NSString *displayAppName; // @synthesize displayAppName=_displayAppName; @property long long messageType; // @synthesize messageType=_messageType; @property(retain) NSString *bundleId; // @synthesize bundleId=_bundleId; @property(retain) IMSPIMessage *referencedMessage; // @synthesize referencedMessage=_referencedMessage; @property(retain) NSDate *lastReadDate; // @synthesize lastReadDate=_lastReadDate; @property(retain) NSDate *dateRead; // @synthesize dateRead=_dateRead; @property(retain) NSString *service; // @synthesize service=_service; @property(retain) NSString *displayName; // @synthesize displayName=_displayName; @property(retain) NSString *effect; // @synthesize effect=_effect; @property BOOL isGroupChat; // @synthesize isGroupChat=_isGroupChat; @property(retain) NSString *chatIdentifier; // @synthesize chatIdentifier=_chatIdentifier; @property(retain) NSString *groupID; // @synthesize groupID=_groupID; @property long long itemType; // @synthesize itemType=_itemType; @property(retain) NSArray *attachments; // @synthesize attachments=_attachments; @property(retain) NSArray *chatGuids; // @synthesize chatGuids=_chatGuids; @property BOOL isAudioMessage; // @synthesize isAudioMessage=_isAudioMessage; @property(retain) NSDate *date; // @synthesize date=_date; @property(retain) NSString *subject; // @synthesize subject=_subject; @property(retain) NSArray *recipients; // @synthesize recipients=_recipients; @property(retain) IMSPIHandle *sender; // @synthesize sender=_sender; @property(retain) NSString *text; // @synthesize text=_text; @property BOOL isOutgoing; // @synthesize isOutgoing=_isOutgoing; @property BOOL isRead; // @synthesize isRead=_isRead; @property(retain) NSAttributedString *attributedText; // @synthesize attributedText=_attributedText; @property long long messageID; // @synthesize messageID=_messageID; @property(retain) NSString *guid; // @synthesize guid=_guid; @property(readonly) NSURL *url; - (id)description; - (void)dealloc; @end @interface IMPluginPayload : NSObject { BOOL _update; BOOL _sticker; BOOL _shouldExpire; BOOL _isPlayed; BOOL _isFromMe; NSAttributedString *_text; NSData *_data; NSURL *_url; NSString *_breadcrumbText; NSString *_statusText; NSDictionary *_userInfo; NSString *_messageGUID; NSDate *_time; NSString *_associatedMessageGUID; NSString *_pluginBundleID; NSArray *_consumedSessionPayloads; NSString *_pluginSessionGUID; // DDScannerResult *_dataDetectedResult; NSArray *_attachments; IMBalloonPluginDataSource *_datasource; NSString *_sender; } + (BOOL)supportsSecureCoding; @property(copy, nonatomic) NSString *sender; // @synthesize sender=_sender; @property(nonatomic) BOOL isFromMe; // @synthesize isFromMe=_isFromMe; @property(nonatomic) __weak IMBalloonPluginDataSource *datasource; // @synthesize datasource=_datasource; @property(retain, nonatomic) NSArray *attachments; // @synthesize attachments=_attachments; //@property(retain, nonatomic) DDScannerResult *dataDetectedResult; // @synthesize dataDetectedResult=_dataDetectedResult; @property(retain, nonatomic) NSString *pluginSessionGUID; // @synthesize pluginSessionGUID=_pluginSessionGUID; @property(nonatomic) BOOL isPlayed; // @synthesize isPlayed=_isPlayed; @property(retain, nonatomic) NSArray *consumedSessionPayloads; // @synthesize consumedSessionPayloads=_consumedSessionPayloads; @property(retain, nonatomic) NSString *pluginBundleID; // @synthesize pluginBundleID=_pluginBundleID; @property(retain, nonatomic) NSString *associatedMessageGUID; // @synthesize associatedMessageGUID=_associatedMessageGUID; @property(retain, nonatomic) NSDate *time; // @synthesize time=_time; @property(retain, nonatomic) NSString *messageGUID; // @synthesize messageGUID=_messageGUID; @property(retain, nonatomic) NSDictionary *userInfo; // @synthesize userInfo=_userInfo; @property(nonatomic) BOOL shouldExpire; // @synthesize shouldExpire=_shouldExpire; @property(nonatomic, getter=isSticker) BOOL sticker; // @synthesize sticker=_sticker; @property(nonatomic, getter=isUpdate) BOOL update; // @synthesize update=_update; @property(retain, nonatomic) NSString *statusText; // @synthesize statusText=_statusText; @property(retain, nonatomic) NSString *breadcrumbText; // @synthesize breadcrumbText=_breadcrumbText; @property(retain, nonatomic) NSURL *url; // @synthesize url=_url; @property(retain, nonatomic) NSData *data; // @synthesize data=_data; @property(retain, nonatomic) NSAttributedString *text; // @synthesize text=_text; - (id)copyWithZone:(struct _NSZone *)arg1; - (id)initWithCoder:(id)arg1; - (void)encodeWithCoder:(id)arg1; - (BOOL)isEqual:(id)arg1; - (unsigned long long)hash; - (BOOL)isEqualToPluginPayload:(id)arg1; @property(readonly, nonatomic) BOOL shouldHideAttachments; - (void)addAttachmentsFromFileTransferGUIDs:(id)arg1; - (id)initWithMessageItem:(id)arg1; - (id)initWithMessage:(id)arg1; @end @interface IMBalloonPluginAttributionController : NSObject { BOOL _hasPerformedFirstAppExtensionLoad; NSMutableDictionary *_expiredBundleIDToTimestampMap; NSMutableDictionary *_bundleIDsDisplayingAttribution; } + (id)sharedInstance; @property(nonatomic) BOOL hasPerformedFirstAppExtensionLoad; // @synthesize hasPerformedFirstAppExtensionLoad=_hasPerformedFirstAppExtensionLoad; @property(retain, nonatomic) NSMutableDictionary *bundleIDsDisplayingAttribution; // @synthesize bundleIDsDisplayingAttribution=_bundleIDsDisplayingAttribution; @property(retain, nonatomic) NSMutableDictionary *expiredBundleIDToTimestampMap; // @synthesize expiredBundleIDToTimestampMap=_expiredBundleIDToTimestampMap; - (void)_handleInstalledPluginsChanged; - (void)_purgeLeastRecentlySeenAppBundleIDsIfNecessary; - (void)_saveToFile; - (double)_expiryTimeout; - (id)_currentTimestamp; - (BOOL)shouldShowAttributionForBundleID:(id)arg1; - (void)didShowAttributionForBundleIDs:(id)arg1; - (void)startExpiryTimer; - (void)dealloc; - (id)init; @end @interface NSArray (IMItems) @property(readonly, nonatomic) IMMessageItem *lastMessageItem; @property(readonly, nonatomic) IMMessageItem *firstMessageItem; @end @interface NSArray (IMTranscriptChatItems) - (id)indexesOfPartsOfMessageItem:(id)arg1; - (id)indexesOfPartsOfMessage:(id)arg1; @end @interface IMRecentItemsList (FetchUtilities) - (void)loadRecentHandwritingsAndStickersWithThumbnailSize:(struct CGSize)arg1 completion:(CDUnknownBlockType)arg2; - (void)loadRecentHandwritingsWithThumbnailSize:(struct CGSize)arg1 completion:(CDUnknownBlockType)arg2; - (void)loadRecentStickers:(CDUnknownBlockType)arg1; @end @interface NSArray (IMChatItems) - (id)__imItems; - (void)__enumerateItemsWithOptions:(unsigned long long)arg1 usingBlock:(CDUnknownBlockType)arg2; - (id)__itemForChatItemAtIndex:(unsigned long long)arg1; @property(readonly, nonatomic) IMMessageItem *__imLastMessageItem; - (id)messages; - (void)enumerateMessagesWithOptions:(NSEnumerationOptions)opts usingBlock:(void (^)(IMMessage *message, BOOL *stop))block; - (id)messageForChatItemAtIndex:(unsigned long long)arg1; @property(readonly, nonatomic) IMMessage *lastIncomingFinishedMessage; @property(readonly, nonatomic) IMMessage *lastIncomingMessage; @property(readonly, nonatomic) IMMessage *lastFinishedMessage; @property(readonly, nonatomic) IMMessage *lastMessage; @property(readonly, nonatomic) IMMessage *firstMessage; @end @interface NSString (IMAdditions) + (id)__im_handleIdentifierRegex; - (id)__im_handleIdentifiers; - (id)__im_IDForHandleIdentifierString; - (id)__im_rangesOfHandleIdentifierStrings; @end @interface IMItem (IMChat_Internal) + (Class)contextClass; - (id)_copy; - (BOOL)_isInvitation; - (void)_setInvitation:(BOOL)arg1; - (id)_otherHandle; - (id)_senderHandle; - (void)_updateContextWithSenderHandle:(id)arg1 otherHandle:(id)arg2; - (id)message; @end @interface IMMessageItem (IMChat_Internal) + (Class)contextClass; - (id)_copyWithFlags:(unsigned long long)arg1; - (id)_copy; - (BOOL)_isInvitation; - (void)_setInivtation:(BOOL)arg1; - (id)message; @end @interface IMMessageItem (IMCoreDescription) - (id)descriptionForPurpose:(long long)arg1 isGroupMessage:(BOOL)arg2 messageDataSource:(CDUnknownBlockType)arg3 attachmentDataSource:(CDUnknownBlockType)arg4; @end @interface IMItem (IMItemsController) - (BOOL)isIncomingTypingOrCancelTypingMessage; - (BOOL)isTypingOrCancelTypingMessage; @end @interface IMMessageItem (IMItemsController) - (BOOL)isIncomingTypingOrCancelTypingMessage; - (BOOL)isTypingOrCancelTypingMessage; - (BOOL)isCancelTypingMessage; - (BOOL)isIncomingTypingMessage; - (BOOL)isSystemMessage; @end @interface IMAssociatedMessageItem (IMItemsController) - (BOOL)isIncomingTypingOrCancelTypingMessage; - (BOOL)isTypingOrCancelTypingMessage; - (BOOL)isCancelTypingMessage; - (BOOL)isIncomingTypingMessage; @end @interface NSString (IMCoreIDSLookupAdditions) - (id)idsFormat; @end @interface IMItem (IMTranscriptChatItemRules) - (BOOL)shouldGenerateTopLevelChatItem; - (id)_serviceHandle; - (id)_service; - (id)_newChatItems; - (BOOL)_hasMessageChatItem; @end @interface IMMessageItem (IMTranscriptChatItemRules) - (BOOL)isExtensibleMessageWithPluginPayload:(id *)arg1; - (id)_service; - (id)_newChatItemsWithFilteredChat:(BOOL)arg1 isBusiness:(BOOL)arg2 parentChatIsSpam:(BOOL)arg3 hasKnownParticipants:(BOOL)arg4; - (id)_newChatItems; - (BOOL)_hasMessageChatItem; @end @interface IMParticipantChangeItem (IMTranscriptChatItemRules) - (id)_newChatItems; @end @interface IMGroupTitleChangeItem (IMTranscriptChatItemRules) - (id)_newChatItems; @end @interface IMLocationShareStatusChangeItem (IMTranscriptChatItemRules) - (id)_newChatItems; - (BOOL)_hasMessageChatItem; @end @interface IMTUConversationItem (IMTranscriptChatItemRules) - (BOOL)_hasMessageChatItem; - (id)_newChatItems; @end @interface IMMessageActionItem (IMTranscriptChatItemRules) - (id)_newChatItems; @end @interface IMAssociatedMessageItem (IMTranscriptChatItemRules) - (BOOL)shouldGenerateTopLevelChatItem; - (id)_newChatItemsWithFilteredChat:(BOOL)arg1 isBusiness:(BOOL)arg2 parentChatIsSpam:(BOOL)arg3 hasKnownParticipants:(BOOL)arg4; - (id)_newChatItems; @end @interface NSArray (IMHandleUtilities) - (BOOL)equivalentToRecipients:(id)arg1; @end @interface NSString (IMDDUtilities) - (struct __CFArray *)copyDDResultArrayByScanningStringForURLs; @end