@class NSMutableDictionary, NSObject, EFLazyCache, EDMessageQueryHelper, EDUpdateThrottler, EMMailboxScope, EDThreadReloadSummaryHelper, NSString, NSMutableOrderedSet, EFProcessTransaction, EDVIPManager, NSArray, EMCollectionItemIDStateCapturer; @protocol OS_os_log, EDRemoteSearchProvider, EMMessageListItemQueryResultsObserver, EFScheduler, OS_dispatch_queue; @interface EDInMemoryThreadQueryHandler : EDMessageRepositoryQueryHandler <EDMessageQueryHelperDelegate, EFLoggable, EFContentProtectionObserver, EMCollectionItemIDStateCapturerDelegate> { NSMutableOrderedSet *_conversationIDs; NSMutableDictionary *_threadsByConversationID; NSMutableDictionary *_inMemoryThreadsByConversationID; NSMutableDictionary *_mailboxesByConversationID; NSMutableDictionary *_changesWhilePaused; NSMutableDictionary *_oldestThreadsByMailboxObjectIDs; EFProcessTransaction *_processTransaction; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _threadsLock; } @property (class, readonly) NSObject<OS_os_log> *log; @property (readonly, nonatomic) EDVIPManager *vipManager; @property (readonly, nonatomic) id<EDRemoteSearchProvider> remoteSearchProvider; @property (readonly, nonatomic) id<EMMessageListItemQueryResultsObserver> resultsObserverIfNotPaused; @property (retain, nonatomic) EDMessageQueryHelper *messageQueryHelper; @property (readonly, copy, nonatomic) NSArray *messageSortDescriptors; @property (readonly, nonatomic) id /* block */ comparator; @property (readonly, nonatomic) EDUpdateThrottler *updateThrottler; @property (readonly, nonatomic) EDThreadReloadSummaryHelper *reloadSummaryHelper; @property (readonly, nonatomic) id<EFScheduler> scheduler; @property (readonly, nonatomic) NSObject<OS_dispatch_queue> *contentProtectionQueue; @property (readonly, nonatomic) NSObject<OS_dispatch_queue> *resultQueue; @property (nonatomic) BOOL didCancel; @property (nonatomic) BOOL isInitialized; @property (nonatomic) BOOL hasEverReconciledJournal; @property (nonatomic) BOOL isPaused; @property (nonatomic) BOOL hasChangesWhilePaused; @property (readonly, nonatomic) EMMailboxScope *mailboxScope; @property (readonly, nonatomic) EFLazyCache *inMemoryThreadCache; @property (readonly, nonatomic) EMCollectionItemIDStateCapturer *stateCapturer; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)dealloc; - (void)_vipsDidChange:(id)a0; - (BOOL)start; - (void)tearDown; - (void).cxx_destruct; - (id)labelForStateCapture; - (void)cancel; - (void)test_tearDown; - (void)_blockedSendersDidChange:(id)a0; - (void)contentProtectionStateChanged:(long long)a0 previousState:(long long)a1; - (id)itemIDsForStateCaptureWithErrorString:(id *)a0; - (void)_didSendUpdates; - (BOOL)_reportDeletes:(id)a0; - (BOOL)_reportChanges:(id)a0; - (id)threadsAndMessagesForObjectIDs:(id)a0; - (void)_contentProtectionChangedToLocked; - (void)_contentProtectionChangedToUnlocked; - (long long)_conversationIDFromObjectID:(id)a0; - (void)_createHelper; - (id)_createInMemoryThreadForConversationID:(long long)a0; - (BOOL)_didMergeInThreads:(id)a0; - (id)_inMemoryThreadForConversationID:(long long)a0; - (id)_inMemoryThreadSortDescriptorsForThreadSortDescriptors:(id)a0; - (id)_inMemoryThreadsForObjectIDs:(id)a0 cacheResults:(BOOL)a1; - (void)_initializeOldestThreadsByMailbox; - (BOOL)_mergeInThreads:(id)a0 forMove:(BOOL)a1; - (BOOL)_messageListItemChangeAffectsSorting:(id)a0; - (id)_messageQueryFromThreadsQuery:(id)a0; - (id)_messagesByConversationIDForMessages:(id)a0; - (void)_messagesWereAdded:(id)a0; - (void)_messagesWereChanged:(id)a0 forKeyPaths:(id)a1 deleted:(BOOL)a2; - (void)_notifyObserverOfOldestThreadsByMailboxObjectIDs; - (id)_predicateForMessagesInConversations:(id)a0; - (void)_prepareToSendUpdates; - (BOOL)_queryHelperIsCurrent:(id)a0; - (void)_refreshObserver; - (BOOL)_removeThreadProxies:(id)a0 forMove:(BOOL)a1; - (void)_restartHelper; - (BOOL)_threadsWereDeleted; - (BOOL)_updateCurrentOldestThreadWithThreadIfApplicable:(id)a0 forMailbox:(id)a1; - (BOOL)_updateOldestThreadsForMailboxes:(id)a0; - (id)_updateThreadProxy:(id)a0 threadIsEmpty:(BOOL *)a1; - (id)initWithQuery:(id)a0 messagePersistence:(id)a1 hookRegistry:(id)a2 remindMeNotificationController:(id)a3 vipManager:(id)a4 remoteSearchProvider:(id)a5 observer:(id)a6 observationIdentifier:(id)a7 observationResumer:(id)a8; - (void)logThreadObjectIDsChangesWithMessage:(id)a0 newObjectIDs:(id)a1 beforeExistingObjectID:(id)a2; - (void)logThreadObjectIDsWithMessage:(id)a0 objectIDs:(id)a1; - (id)messageListItemForObjectID:(id)a0 error:(id *)a1; - (id)messagesForThread:(id)a0; - (void)queryHelper:(id)a0 conversationIDDidChangeForMessages:(id)a1 fromConversationID:(long long)a2; - (void)queryHelper:(id)a0 conversationNotificationLevelDidChangeForConversation:(long long)a1 conversationID:(long long)a2; - (void)queryHelper:(id)a0 didAddMessages:(id)a1; - (void)queryHelper:(id)a0 didDeleteMessages:(id)a1; - (void)queryHelper:(id)a0 didFindMessages:(id)a1; - (void)queryHelper:(id)a0 didUpdateMessages:(id)a1 forKeyPaths:(id)a2; - (void)queryHelper:(id)a0 messageFlagsDidChangeForMessages:(id)a1; - (void)queryHelper:(id)a0 objectIDDidChangeForMessage:(id)a1 oldObjectID:(id)a2 oldConversationID:(long long)a3; - (void)queryHelperDidFindAllMessages:(id)a0; - (void)queryHelperDidFinishRemoteSearch:(id)a0; - (void)queryHelperNeedsRestart:(id)a0; @end