@class NSString, IDSService, NSSet, NSMutableDictionary, NSDictionary, IMNickname, NSMutableSet, IDSKVStore, NSMutableArray; @interface IMDNicknameController : NSObject <IMUnlockMonitorListener, IDSServiceDelegate> @property (retain, nonatomic) IDSKVStore *cloudkitRecordsKVStore; @property (nonatomic) double lastMeContactStoreSync; @property (retain, nonatomic) IDSKVStore *pendingNicknameUpdatesKVStore; @property (retain, nonatomic) IDSKVStore *handledNicknamesKVStore; @property (retain, nonatomic) IDSKVStore *archivedNicknamesKVStore; @property (retain, nonatomic) IDSKVStore *handleSharingKVStore; @property (retain, nonatomic) IDSKVStore *nicknameRecordsKVStore; @property (retain, nonatomic) NSMutableDictionary *pendingNicknameUpdates; @property (retain, nonatomic) NSMutableSet *handleTransitionedList; @property (retain, nonatomic) NSMutableDictionary *activeNicknameRecords; @property (retain, nonatomic) NSMutableDictionary *ignoredNicknameRecords; @property (retain, nonatomic) NSMutableDictionary *handledNicknames; @property (retain, nonatomic) NSMutableDictionary *archivedNicknames; @property (retain, nonatomic) NSMutableSet *handleAllowList; @property (retain, nonatomic) NSMutableSet *handleDenyList; @property (retain, nonatomic) IMNickname *personalNickname; @property (nonatomic) BOOL needToLoadMapsInfoFromDisk; @property (retain, nonatomic) NSMutableArray *chatsToSendNicknameInfoTo; @property (nonatomic) BOOL nicknameIsUploadingToCK; @property (retain, nonatomic) IDSService *nicknameService; @property (readonly, nonatomic) NSSet *allowListedHandlesForSharing; @property (readonly, nonatomic) NSSet *denyListedHandlesForSharing; @property (readonly, nonatomic) NSSet *transitionedHandles; @property (readonly, nonatomic) NSDictionary *activeRecords; @property (readonly, nonatomic) NSDictionary *ignoredRecords; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)sharedInstance; - (id)defaults; - (void)service:(id)a0 account:(id)a1 incomingMessage:(id)a2 fromID:(id)a3 context:(id)a4; - (void)_updatePendingNicknameVersion; - (void)broadcastTransitionedHandlesDidChange; - (void)acceptPendingNicknameForHandleID:(id)a0 updateType:(unsigned long long)a1; - (void)sendPersonalNicknameToRecipients:(id)a0 chatGUID:(id)a1 fromHandle:(id)a2 onlyUseNicknameSendingService:(BOOL)a3; - (void)_clearIgnoredNicknameRecords; - (void)_updateCloudKitRecordIDAndDecryptionKeyIfNeeded:(id)a0; - (void)currentPersonalNicknamewithCompletionBlock:(id /* block */)a0; - (BOOL)evaluateAccountStateForFeatureEligibility; - (void)clearPendingNicknamePhotoForHandleID:(id)a0; - (id)init; - (id)transferServicesController; - (id)substringRecordIDForNickname:(id)a0; - (void)loadSharingHandlesPrefs; - (void)_clearActiveNicknameRecords; - (void)_markCurrentNicknameAsArchived:(id)a0 incrementPendingNicknameVersion:(BOOL)a1; - (void)dealloc; - (void)_deletePendingNicknameForUpload; - (void)_newDeviceDidSignIntoiMessageWithRetryCount:(unsigned long long)a0; - (void)setPersonalNickname:(id)a0 completionBlock:(id /* block */)a1; - (void)_clearSharingLists; - (void)_updateTransitionedListHandlesVersion; - (void)_markPendingNicknameAsCurrent:(id)a0 incrementPendingNicknameVersion:(BOOL)a1 updateType:(unsigned long long)a2; - (void)ignorePendingNicknameForHandleID:(id)a0; - (void)systemDidLeaveFirstDataProtectionLock; - (BOOL)_sendMessageDictionary:(id)a0 toDevice:(id)a1 sendType:(unsigned long long)a2; - (void)_loadAllInfoFromDiskIfAble; - (BOOL)_deviceUnderFirstUnlock; - (void)_updateHandleTransitionedListIfNeeded:(id)a0; - (void)_updateNicknameInHandledMap:(id)a0 updateType:(unsigned long long)a1; - (void)markNicknamesAsTransitionedForHandleIDs:(id)a0 isAutoUpdate:(BOOL)a1; - (void)queueChatToSendNicknamePostUploadIfNeeded:(id)a0; - (void)handleNicknameUpdatesFromPeerDevice:(id)a0 fromPeerDevice:(id)a1; - (void)_syncHandleAllowDenyListToOtherDevices; - (void)_syncHandleTransitionedListToOtherDevices; - (void)markHandlesAsAllowed:(id)a0; - (void)getNicknameWithRecordID:(id)a0 decryptionKey:(id)a1 wallpaperDataTag:(id)a2 wallpaperLowResDataTag:(id)a3 wallpaperMetadataTag:(id)a4 isKnownSender:(BOOL)a5 completionBlock:(id /* block */)a6; - (void)_updateNameOnlyUpdateForMessage:(id)a0 fromHandleID:(id)a1; - (void)sendPersonalNicknameToRecipients:(id)a0 chatGUID:(id)a1 fromHandle:(id)a2 onlySendToThoseLoggedOutOfIMessage:(BOOL)a3; - (id)pendingPersonalNickname; - (void)loadPersonalNicknameIfNeeded; - (void)_tryToReuploadPersonalNicknameWithRetryCount:(unsigned long long)a0 reuploadVersion:(unsigned long long)a1; - (BOOL)_sendMessageDictionary:(id)a0 toDevice:(id)a1; - (void)clearPendingNicknameForHandleID:(id)a0; - (void)_clearTransitionedList; - (void)_updateDenyAllowListHandlesVersion; - (void)_retryPeerRequestWithRetry:(unsigned long long)a0; - (void)_deleteNicknameFromPendingMap:(id)a0; - (void)_updateHandleDenyAllowListIfNeeded:(id)a0; - (id)allNicknames; - (id)nickNameRecordID; - (void)_broadcastNicknamesMapChanged; - (void)NicknameWithRecordID:(id)a0 URI:(id)a1 decryptionKey:(id)a2 wallpaperDataTag:(id)a3 wallpaperLowResDataTag:(id)a4 wallpaperMetadataTag:(id)a5 hasWallpaperUpdate:(BOOL)a6 withCompletionBlock:(id /* block */)a7; - (void)markProfileRecords:(id)a0 asActive:(BOOL)a1; - (BOOL)_isNicknamesSharingEnabled; - (void)_updateHandleList:(id)a0 withHandles:(id)a1 forKey:(id)a2 broadcastUpdates:(BOOL)a3; - (void)sendNicknamePreferencesDidChange; - (void)_storePublicNickname:(id)a0 nicknameLocation:(id)a1 encryptionKey:(id)a2 wallpaperDataTag:(id)a3 wallpaperLowResDataTag:(id)a4 wallpaperMetadataTag:(id)a5; - (void)deviceSignedOutOfiMessage; - (void)_deleteAvatarForNickname:(id)a0; - (void)_syncActiveNicknameRecordsToOtherDevices; - (void)addNicknameToPendingUpdates:(id)a0; - (BOOL)_requestingToSendLocalNicknameInfo:(id)a0; - (BOOL)_isActiveForNickname:(id)a0; - (void)_updateSharingPreferencesIfNeededFromMadridMessage:(id)a0; - (void)_makeAllNicknameContentsClassC; - (void)_updateActiveList:(id)a0 withRecords:(id)a1 broadcastUpdates:(BOOL)a2; - (BOOL)_populateNicknameDictionary:(id)a0 forKVStore:(id)a1 limitToLoad:(unsigned long long)a2; - (BOOL)_isUnderScrutiny; - (void)sendNameOnlyToHandleIDs:(id)a0 fromHandleID:(id)a1; - (void)sendPendingNicknameUpdatesDidChange; - (void)_updateNicknameInArchivedMap:(id)a0; - (void)broadcastHandlesSharingNicknamesDidChange; - (void)_updateActiveNicknameRecordsListIfNeeded:(id)a0; - (void)_updateIsActiveListHandlesVersion; - (void)_getDevicesForBothNicknameServices:(id)a0 removeNewServiceURIsFromIMessageList:(BOOL)a1 completionHandler:(id /* block */)a2; - (void)markProfileRecordsAsIgnored:(id)a0; - (void)_updateMessageDictionaryWithPendingNicknameUpdates:(id)a0; - (void)_updateIgnoredList:(id)a0 withRecords:(id)a1 broadcastUpdates:(BOOL)a2; - (void)_updateTransitionList:(id)a0 withHandles:(id)a1 forKey:(id)a2 broadcastUpdates:(BOOL)a3; - (id)loadListForKey:(id)a0 list:(id)a1; - (void)_writeNicknameToKVStore:(id)a0 nickname:(id)a1; - (void)_updateIsIgnoredListHandlesVersion; - (void)loadNicknamesFromKVStore; - (void).cxx_destruct; - (void)_storePendingNicknameForUpload:(id)a0; - (void)_deleteDataUnderScrutiny; - (void)_deleteHandleIDFromArchivedMap:(id)a0; - (id)newNicknameInfoToSend; - (void)currentPersonalNicknameWithRecordID:(id)a0 decryptionKey:(id)a1 wallpaperDataTag:(id)a2 wallpaperLowResDataTag:(id)a3 wallpaperMetadataTag:(id)a4 completionBlock:(id /* block */)a5; - (void)_showDebugAlertWithHeader:(id)a0 message:(id)a1; - (void)newDeviceDidSignIntoiMessage; - (void)sendPersonalNicknameRecordIDAndVersionRequestedByDevice:(id)a0; - (void)sendPersonalNicknameToRecipients:(id)a0 chatGUID:(id)a1 fromHandle:(id)a2; - (void)_endNicknameUpload; - (void)_removeFromTransitionedList:(id)a0; - (void)sendPersonalNicknameRecordIDAndVersionToAllPeers; - (id)wallpaperDataTag; - (void)markAllNicknamesAsPending; - (void)_removeFromList:(id)a0 withKey:(id)a1; - (BOOL)replacedNicknameForHandleIDInHandledMapIfNeeded:(id)a0 nickname:(id)a1; - (void)_evaluateIfAccountHasMultiplePhoneNumbers; - (id)_getPendingNicknameForUpload; - (void)aliasesDidChange:(BOOL)a0; - (void)_deleteOnDiskDataIfNeededForNickname:(id)a0 withNewNickname:(id)a1; - (id)lowResWallpaperDataTag; - (void)_beginNicknameUpload:(id)a0; - (id)nicknameForRecordID:(id)a0; - (void)saveNicknameForRecordID:(id)a0 handleID:(id)a1 userNickname:(id)a2; - (id)storedPersonalNickname; - (void)_ckAccountChanged:(id)a0; - (void)_markNicknamePhotoAsUpdated:(id)a0; - (unsigned long long)_reuploadLocalProfileVersionNumber; - (void)verifyTruncatedRecordIDMatchesPersonalNickname:(id)a0 forChat:(id)a1; - (void)_syncIgnoredNicknameRecordsToOtherDevices; - (void)allowHandlesForSharing:(id)a0 onChatGUIDs:(id)a1 fromHandle:(id)a2 forceSend:(BOOL)a3; - (BOOL)_nicknameFeatureEnabled; - (void)deleteAllPersonalNicknames:(BOOL)a0 withCompletion:(id /* block */)a1; - (id)messageDictionaryWithPersonalRecordIDAndVersion; - (id)nicknameForHandleURI:(id)a0; - (id)_typeOfNicknameUpdateToShare; - (id)nicknameForRecordID:(id)a0 handle:(id)a1; - (void)_deletePublicNicknameLocationAndKey; - (void)cleanUpNicknameForID:(id)a0; - (id)_diffActiveRecords:(id)a0 againstPrevious:(id)a1; - (void)_deleteHandleIDFromPendingMap:(id)a0; - (id)nicknameForHandle:(id)a0; - (void)_updateIgnoredNicknameRecordsListIfNeeded:(id)a0; - (void)_updateNicknameListsIfNeeded:(id)a0; - (void)_resetHandleSharingList; - (void)_broadcastActiveListChanged; - (void)markNicknameAsUpdated:(id)a0; - (void)denyHandlesForSharing:(id)a0; - (void)loadHandledTransitioned; - (id)nickNameDecryptionKey; - (void)_uploadPendingNicknameIfNecessary; - (void)_deleteHandleIDFromHandledMap:(id)a0; - (void)_updateMessageDictionaryWithNicknameUpdateRecordIDs:(id)a0; - (id)_idsDeviceFromPushToken:(id)a0; - (id)wallpaperMetadataTag; - (void)_setUnderScrutiny:(BOOL)a0; - (void)reuploadProfileIfNeeded; - (void)sendPersonalNicknameToRecipients:(id)a0 chatGUID:(id)a1 fromHandle:(id)a2 onlyUseNicknameSendingService:(BOOL)a3 onlySendToThoseLoggedOutOfIMessage:(BOOL)a4; @end