@class NSArray, NSString, SBHLibraryCategoryMap, NSHashTable, NSMutableSet, NSObject, NSMutableArray; @protocol OS_dispatch_queue, SBHLibraryCategoryMapProviderSource; @interface SBHLibraryCategoryMapProvider : NSObject { NSHashTable *_observers; NSObject *_serializationQueue; NSObject *_callbackQueue; id _libraryCategoryMapProviderSource; NSString *_cacheFilePath; NSMutableSet *_forbiddenApplicationIdentifiers; NSMutableArray *_pendingRefreshRequests; NSArray *_inflightRefreshRequests; BOOL _refreshIsScheduled; BOOL _isCategoryMapOverriddenForTesting; long long _sessionIdentifier; id _localeNotificationHandle; id _clearCacheNotificationHandle; } @property (class, readonly, nonatomic) NSString *cacheDirectory; @property (readonly, nonatomic) double workQueueCoalescingInterval; @property (readonly, nonatomic) NSObject *workQueue; @property (readonly, nonatomic) SBHLibraryCategoryMap *libraryCategoryMap; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)baseFilePath; + (id)categoryMapCacheFilePathForVersion:(id)a0 source:(id)a1; + (id)categoryMapFromURL:(id)a0 error:(id *)a1; + (unsigned long long)derivedOptionsFromArrayOfRequests:(id)a0; + (void)clearCachesForReason:(id)a0; - (void)_callbackQueue_notifyObserverCategoryMapWasRefreshedWithOptions:(unsigned long long)a0 refreshedCategoryMap:(id)a1; - (id)initWithSource:(id)a0; - (BOOL)_workQueue_updateLibraryCategoryMap:(id)a0 withSessionId:(unsigned long long)a1 shouldPersist:(BOOL)a2 reason:(id)a3; - (void)removeObserver:(id)a0; - (void)_setupClearCacheNotification; - (void)_callbackQueue_notifyObserversWillSunsetFailedRequests:(id)a0; - (void)_workQueue_scheduleRefreshIfNotScheduled; - (id)requestLibraryCategoryMapRefreshWithOptions:(unsigned long long)a0 reason:(id)a1; - (BOOL)unforbidApplicationIdentifier:(id)a0; - (void)resetForbiddenApplicationIdentifiers; - (void)_workQueue_cancelAnyScheduledRefresh; - (void)_callbackQueue_notifyObserversBeginningRefreshSession:(long long)a0 requests:(id)a1; - (void)clearOverride; - (void)_setupLocaleNotification; - (void)_workQueue_queueUpNextRequests:(id)a0 runNow:(BOOL)a1; - (void)_callbackQueue_notifyObserversWillRefresh:(long long)a0 options:(unsigned long long)a1; - (id)_copyOfObservers; - (BOOL)hasCachedLibraryCategoryMapOnFileSystem; - (void)_callbackQueue_notifyObserversWillReEnqueueFailedRequests:(id)a0; - (void).cxx_destruct; - (void)overrideCategoryMapForTestingAtURL:(id)a0 error:(id *)a1; - (void)_kickoffInitialHydration; - (void)_callbackQueue_notifyObserversCategoryMapRefreshFailedWithError:(id)a0; - (void)requestLibraryCategoryMapUpdateWithRefreshOptions:(unsigned long long)a0 source:(id)a1; - (BOOL)forbidApplicationIdentifier:(id)a0; - (void)_callbackQueue_notifyObserversCategoryMapDidntNeedRefresh; - (void)_workQueue_performNextRequest; - (unsigned long long)_nextSessionIdentifier; - (void)_callbackQueue_notifyObserversFinishedRefreshSession:(long long)a0 requests:(id)a1; - (void)addObserver:(id)a0; - (void)overrideCategoryMapForTesting:(id)a0; @end