@class NSHashTable, NSString, EMQuery, NSOrderedSet, NSMutableSet, NSObject, NSMutableOrderedSet, EFFuture, EFPromise; @protocol OS_os_log, EFCancelable, EFScheduler; @interface EMCollection : EMRepositoryObject { NSMutableOrderedSet *_itemIDs; NSMutableSet *_itemIDsAnticipatingDelete; NSOrderedSet *_recoveringItemIDs; EFPromise *_allItemIDsPromise; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _itemIDsLock; BOOL _foundAllItemIDs; BOOL _foundFirstBatch; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _changeObserversLock; } @property (class, readonly) NSObject *log; @property (class, readonly) NSObject *signpostLog; @property (retain, nonatomic) id cancelationToken; @property (retain, nonatomic) NSHashTable *changeObservers; @property (readonly, nonatomic) id queryScheduler; @property (readonly, nonatomic) id observerScheduler; @property (readonly, nonatomic) EMQuery *query; @property (readonly, nonatomic) EFFuture *allItemIDs; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly) unsigned long long signpostID; + (BOOL)supportsSecureCoding; - (void)enumerateObserversWithBlock:(id /* block */)a0; - (void)dealloc; - (void)encodeWithCoder:(id)a0; - (void)refresh; - (void)_cancelQuery; - (void).cxx_destruct; - (void)stopObserving:(id)a0; - (id)initWithCoder:(id)a0; - (id)initWithObjectID:(id)a0 query:(id)a1; - (void)beginObserving:(id)a0; - (id)initWithQuery:(id)a0 repository:(id)a1; - (BOOL)containsItemID:(id)a0 includeRecovery:(BOOL)a1; - (id)firstExistingItemIDAfterItemID:(id)a0; - (void)queryMatchedChangesByObjectIDs:(id)a0; - (void)_cancelQueryIfNeeded; - (void)_commonInitWithQuery:(id)a0; - (void)_filterAndTransformObjectIDs:(id)a0 before:(BOOL)a1 existingObjectID:(id)a2 batchBlock:(id /* block */)a3; - (id)_firstExistingItemIDForItemID:(id)a0 inReverse:(BOOL)a1; - (id)_itemIDsForObjectIDs:(id)a0; - (id)_iterateItemIDsStartingAtItemID:(id)a0 inReverse:(BOOL)a1 includeStartingItem:(BOOL)a2 withBlock:(id /* block */)a3; - (void)_performQuery; - (void)_performQueryIfNeeded; - (void)finishRecovery; - (id)firstExistingItemIDBeforeItemID:(id)a0; - (void)insertItemIDs:(id)a0 after:(id)a1; - (void)insertItemIDs:(id)a0 before:(id)a1; - (BOOL)isRecovering; - (id)itemIDForObjectID:(id)a0; - (id)iterateItemIDsStartingAtItemID:(id)a0 inReverse:(BOOL)a1 withBlock:(id /* block */)a2; - (void)notifyChangeObserver:(id)a0 stockedItemIDs:(id)a1; - (void)notifyChangeObserverAboutStockedItemIDs:(id)a0; - (void)notifyChangeObserversAboutAddedItemIDs:(id)a0 after:(id)a1 extraInfo:(id)a2; - (void)notifyChangeObserversAboutAddedItemIDs:(id)a0 before:(id)a1 extraInfo:(id)a2; - (void)notifyChangeObserversAboutChangesByItemIDs:(id)a0; - (BOOL)objectIDBelongsToCollection:(id)a0; - (id)objectIDForItemID:(id)a0; - (BOOL)observerContainsObjectID:(id)a0; - (void)queryAnticipatesDeletedObjectIDs:(id)a0; - (void)queryDidFinishInitialLoad; - (void)queryDidFinishRemoteSearch; - (void)queryDidStartRecovery; - (void)queryMatchedAddedObjectIDs:(id)a0 after:(id)a1 extraInfo:(id)a2; - (void)queryMatchedAddedObjectIDs:(id)a0 before:(id)a1 extraInfo:(id)a2; - (void)queryMatchedDeletedObjectIDs:(id)a0; - (void)queryMatchedMovedObjectIDs:(id)a0 after:(id)a1; - (void)queryMatchedMovedObjectIDs:(id)a0 before:(id)a1; - (void)queryReplacedObjectID:(id)a0 withNewObjectID:(id)a1; - (id)removeItemIDs:(id)a0; @end