@class NSURL, NSMutableDictionary, NSDate, ICUserIdentity, NSObject, ML3MusicLibrary, MPMediaLibraryPrivacyContext, MSVSQLDatabase, NSMutableArray, NSString, _MPActiveUserChangeMonitor, NSPointerArray, NSArray, NSNumber, QueryCriteriaResultsCache; @protocol OS_dispatch_queue, MPMediaLibraryDataProviderPrivate; @interface MPMediaLibrary : NSObject <_MPActiveUserChangeMonitorDelegate, NSSecureCoding> { MPMediaLibraryPrivacyContext *_privacyContext; id _libraryDataProvider; NSObject *_entityCacheQueue; NSObject *_fixedQueue; NSArray *_notificationObservers; QueryCriteriaResultsCache *_itemsForCriteriaCache; QueryCriteriaResultsCache *_hasItemsForCriteriaCache; QueryCriteriaResultsCache *_countOfItemsForCriteriaCache; QueryCriteriaResultsCache *_itemResultSetsForCriteriaCache; QueryCriteriaResultsCache *_collectionsForCriteriaCache; QueryCriteriaResultsCache *_hasCollectionsForCriteriaCache; QueryCriteriaResultsCache *_countOfCollectionsForCriteriaCache; QueryCriteriaResultsCache *_collectionsResultSetsForCriteriaCache; NSMutableDictionary *_hasItemsDidLoadForCriteria; NSMutableDictionary *_hasCollectionsDidLoadForCriteria; NSMutableDictionary *_countOfCollectionsDidLoadForCriteria; NSMutableDictionary *_countOfItemsDidLoadForCriteria; NSMutableArray *_additionalLibraryFilterPredicates; NSObject *_additionalLibraryFilterPredicatesAccessQueue; NSPointerArray *_connectionAssertions; NSObject *_connectionAssertionsQueue; BOOL _disconnectAfterReleasingAssertions; float _connectionProgress; long long _removalReason; unsigned char _determinedHasMedia : 1; unsigned char _hasMedia : 1; unsigned char _determinedHasSongs : 1; unsigned char _hasSongs : 1; unsigned char _determinedHasGeniusMixes : 1; unsigned char _hasGeniusMixes : 1; unsigned char _determinedHasPlaylists : 1; unsigned char _hasPlaylists : 1; unsigned char _determinedHasComposers : 1; unsigned char _hasComposers : 1; unsigned char _determinedHasPodcasts : 1; unsigned char _hasPodcasts : 1; unsigned char _determinedHasUbiquitousBookmarkableItems : 1; unsigned char _hasUbiquitousBookmarkableContent : 1; unsigned char _determinedHasAudiobooks : 1; unsigned char _hasAudiobooks : 1; long long _cloudFilteringType; BOOL _filteringDisabled; BOOL _hasVideos; BOOL _determinedHasVideos; BOOL _hasMusicVideos; BOOL _determinedHasMusicVideos; BOOL _hasAudibleAudioBooks; BOOL _determinedHasAudibleAudioBooks; BOOL _hasMovies; BOOL _determinedHasMovies; BOOL _hasCompilations; BOOL _determinedHasCompilations; BOOL _hasITunesU; BOOL _determinedHasITunesU; BOOL _hasVideoITunesU; BOOL _determinedHasVideoITunesU; BOOL _hasMovieRentals; BOOL _determinedHasMovieRentals; BOOL _hasTVShows; BOOL _determinedHasTVShows; BOOL _hasHomeVideos; BOOL _determinedHasHomeVideos; BOOL _hasVideoPodcasts; BOOL _determinedHasVideoPodcasts; unsigned char _originalCellNetworkFlags; unsigned char _originalWiFiNetworkFlags; } @property (class, readonly) BOOL supportsSecureCoding; @property (readonly, nonatomic) struct shared_ptr { struct DeviceLibrary *x0; struct __shared_weak_count *x1; } _MediaLibrary_coreLibrary; @property (readonly, nonatomic) NSURL *protectedContentSupportStorageURL; @property (readonly, nonatomic) NSString *_syncValidity; @property (copy, nonatomic) NSNumber *sagaAccountID; @property (copy, nonatomic) NSDate *sagaLastItemPlayDataUploadDate; @property (copy, nonatomic) NSDate *sagaLastPlaylistPlayDataUploadDate; @property (nonatomic) long long sagaDatabaseUserVersion; @property (copy, nonatomic) NSString *storefrontIdentifier; @property (copy, nonatomic) NSDate *sagaLastLibraryUpdateTime; @property (copy, nonatomic) NSDate *sagaLastSubscribedContainersUpdateTime; @property (nonatomic) long long sagaOnDiskDatabaseRevision; @property (readonly, nonatomic) long long libraryChangeObservers; @property (nonatomic) long long removalReason; @property (readonly, nonatomic) struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _MLCoreStorageLock; @property (retain, nonatomic) _MPActiveUserChangeMonitor *activeUserChangeMonitor; @property (retain, nonatomic, setter=_setMLCoreStorage:) id _MLCoreStorage; @property (readonly, nonatomic) struct os_unfair_lock_s { unsigned int x0; } *_MLCoreStorageLockPointer; @property (readonly, nonatomic) ML3MusicLibrary *ml3Library; @property (readonly, nonatomic) MSVSQLDatabase *msvDatabase; @property (readonly, copy, nonatomic) ICUserIdentity *userIdentity; @property (readonly, nonatomic) NSDate *lastModifiedDate; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)libraryPathDidChangeForDataProvider:(id)a0; + (long long)authorizationStatus; + (void)reloadDisplayValuesForLibraryDataProvider:(id)a0; + (void)reloadDynamicPropertiesForLibraryDataProvider:(id)a0; + (void)setLibraryServerDisabled:(BOOL)a0; + (id)_sharedCloudServiceStatusMonitor; + (BOOL)isLibraryServerDisabled; + (void)postEntitiesAddedOrRemovedNotificationForLibraryDataProvider:(id)a0; + (void)endDiscoveringMediaLibraries; + (id)_libraryForDataProvider:(id)a0; + (void)initialize; + (long long)_mediaLibraryAuthorizationStatusFromCloudServiceAuthorizationStatus:(long long)a0; + (void)setDefaultMediaLibrary:(id)a0; + (id)_mediaLibraries; + (id)_deviceMediaLibraryWithUserIdentity:(id)a0 createIfRequired:(BOOL)a1; + (void)beginDiscoveringMediaLibraries; + (id)deviceMediaLibrary; + (id)defaultMediaLibrary; + (id)_libraryDataProviders; + (void)setRunLoopForNotifications:(id)a0; + (void)reloadLibraryDataProvider:(id)a0; + (void)reloadInvisiblePropertiesForLibraryDataProvider:(id)a0; + (void)_postNotificationName:(id)a0 library:(id)a1; + (void)_endDiscoveringMediaLibrariesIfAllowed; + (void)addLibraryDataProvider:(id)a0; + (id)_mediaLibraryWithUniqueIdentifier:(id)a0 userDSID:(id)a1; + (id)mediaLibraries; + (void)_postNotificationName:(id)a0 library:(id)a1 userInfo:(id)a2; + (void)setGlobalPrivacyClientWithAuditToken:(struct { unsigned int x0[8]; })a0; + (void)syncGenerationDidChangeForLibraryDataProvider:(id)a0; + (id)libraryDataProviders; + (void)requestAuthorization:(id /* block */)a0; + (void)removeLibraryDataProvider:(id)a0 removalReason:(long long)a1; + (void)logDatabaseAccess; + (id)mediaLibraryWithUniqueIdentifier:(id)a0 allowsLoadingFromDisk:(BOOL)a1; + (id)mediaLibraryWithUniqueIdentifier:(id)a0; + (id)sharedMediaLibraries; + (id)deviceMediaLibraryWithUserIdentity:(id)a0; + (void)uniqueIdentifierDidChangeForLibraryDataProvider:(id)a0; - (id)syncValidity; - (id)initWithDatabasePath:(id)a0; - (void)endGeneratingLibraryChangeNotifications; - (void)_disconnect; - (void)downloadAsset:(id)a0 completionHandler:(id /* block */)a1; - (void)setClientIdentity:(id)a0; - (void)disconnect; - (BOOL)hasMedia; - (BOOL)hasMovies; - (id)init; - (void)clearLocationPropertiesOfItem:(id)a0; - (void)populateLocationPropertiesOfItem:(id)a0 withPath:(id)a1 assetProtectionType:(long long)a2 completionBlock:(id /* block */)a3; - (id)addPlaylistWithName:(id)a0; - (void)beginGeneratingLibraryChangeNotifications; - (void)_reloadLibraryForRestrictionsChange; - (void)dealloc; - (BOOL)removeItems:(id)a0; - (id)collectionWithPersistentID:(unsigned long long)a0 groupingType:(long long)a1 verifyExistence:(BOOL)a2; - (BOOL)_checkHasContent:(BOOL *)a0 determined:(BOOL *)a1 mediaType:(unsigned long long)a2 queryHasEntitiesBlock:(id /* block */)a3; - (BOOL)_checkHasContent:(BOOL *)a0 determined:(BOOL *)a1 queryHasEntitiesBlock:(id /* block */)a2; - (id)_addPlaylistWithName:(id)a0 externalVendorIdentifier:(id)a1; - (id)collectionWithPersistentID:(unsigned long long)a0 groupingType:(long long)a1; - (id)preferredSubtitleLanguages; - (void)_didReceiveMemoryWarning:(id)a0; - (id)_itemPersistentIdentifiersForQueryCriteria:(id)a0; - (long long)cloudFilteringType; - (BOOL)isDeviceLibrary; - (unsigned long long)filterAvailableContentGroups:(unsigned long long)a0 withOptions:(unsigned long long)a1; - (id)entityWithLibraryURL:(id)a0; - (id)_getCachedValueForQueryCritiera:(id)a0 valueCriteriaCache:(id)a1 entitiesForCriteriaCache:(id)a2 didLoadBlocksByQueryCriteria:(id)a3 valueLoadedFromEntitiesArrayBlock:(id /* block */)a4 loadValueFromDataProviderBlock:(id /* block */)a5; - (void)addPlaylistStoreItemsWithMetadata:(id)a0 completion:(id /* block */)a1; - (void)enumerateEntityChangesAfterSyncAnchor:(id)a0 maximumRevisionType:(long long)a1 inUsersLibrary:(BOOL)a2 usingBlock:(id /* block */)a3; - (BOOL)collectionExistsWithCloudLibraryID:(id)a0 groupingType:(long long)a1 existentPID:(unsigned long long *)a2; - (id)multiverseIdentifierForTrackWithPersistentID:(long long)a0; - (BOOL)hasTVShows; - (BOOL)collectionExistsWithCloudUniversalLibraryID:(id)a0 groupingType:(long long)a1 existentPID:(unsigned long long *)a2; - (void)_setupNotifications; - (BOOL)itemExistsWithPersistentID:(unsigned long long)a0; - (id)itemWithPersistentID:(unsigned long long)a0 verifyExistence:(BOOL)a1; - (BOOL)isHomeSharingLibrary; - (void)_tearDownNotifications; - (void)encodeWithCoder:(id)a0; - (id)multiverseIdentifierForCollectionWithPersistentID:(long long)a0 groupingType:(long long)a1; - (void)addStoreItem:(long long)a0 andAddTracksToCloudLibrary:(BOOL)a1 withCompletion:(id /* block */)a2; - (BOOL)setValue:(id)a0 forDatabaseProperty:(id)a1; - (BOOL)hasHomeVideos; - (float)connectionProgress; - (unsigned long long)syncPlaylistId; - (long long)status; - (id)entityWithPersistentID:(long long)a0 entityType:(long long)a1; - (void)_removeConnectionAssertion:(id)a0; - (id)_collectionsForQueryCriteria:(id)a0; - (BOOL)collectionExistsWithName:(id)a0 groupingType:(long long)a1 existentPID:(unsigned long long *)a2; - (unsigned long long)_countOfItemsForQueryCriteria:(id)a0; - (id)entityWithSpotlightIdentifier:(id)a0; - (void)enumerateEntityChangesAfterSyncAnchor:(id)a0 usingBlock:(id /* block */)a1; - (void)addStoreItemIDs:(id)a0 referralObject:(id)a1 andAddTracksToCloudLibrary:(BOOL)a2 withCompletion:(id /* block */)a3; - (BOOL)hasPlaylists; - (unsigned long long)_persistentIDForAssetURL:(id)a0; - (id)localizedSectionHeaderForSectionIndex:(unsigned long long)a0; - (id)valueForDatabaseProperty:(id)a0; - (id)initWithClientIdentity:(id)a0 userIdentity:(id)a1; - (unsigned int)homeSharingDatabaseID; - (BOOL)hasAudioITunesUContent; - (BOOL)collectionExistsWithSagaID:(long long)a0 groupingType:(long long)a1 existentPID:(unsigned long long *)a2; - (id)preferredAudioLanguages; - (BOOL)hasMusicVideos; - (void)connectWithAuthenticationData:(id)a0 completionBlock:(id /* block */)a1; - (BOOL)hasGenres; - (BOOL)_hasItemsForQueryCriteria:(id)a0; - (id)errorResolverForItem:(id)a0; - (id)playlistWithPersistentID:(unsigned long long)a0; - (BOOL)hasITunesUContent; - (BOOL)collectionExistsWithStoreID:(long long)a0 groupingType:(long long)a1 existentPID:(unsigned long long *)a2; - (void)addLibraryFilterPredicate:(id)a0; - (BOOL)collectionExistsContainedWithinSyncIDs:(id)a0 groupingType:(long long)a1 existentPID:(unsigned long long *)a2; - (BOOL)collectionExistsWithPersistentID:(unsigned long long)a0 groupingType:(long long)a1; - (void)_reloadLibraryForInvisiblePropertyChangeWithNotificationInfo:(id)a0; - (BOOL)hasUserPlaylists; - (BOOL)requiresAuthentication; - (id)decodeItemWithCoder:(id)a0; - (void)getPlaylistWithUUID:(id)a0 creationMetadata:(id)a1 completionHandler:(id /* block */)a2; - (BOOL)hasUbiquitousBookmarkableItems; - (unsigned long long)syncGenerationID; - (void)performReadTransactionWithBlock:(id /* block */)a0; - (void)geniusItemsForSeedItem:(id)a0 completion:(id /* block */)a1; - (id)_initWithLibraryDataProvider:(id)a0; - (BOOL)hasMediaOfType:(unsigned long long)a0; - (id)itemWithPersistentID:(unsigned long long)a0; - (id)newPlaylistWithPersistentID:(unsigned long long)a0; - (void)addTracksToMyLibrary:(id)a0; - (BOOL)isValidAssetURL:(id)a0; - (BOOL)_hasCollectionsForQueryCriteria:(id)a0; - (BOOL)_handlesSameAccountAs:(id)a0; - (BOOL)removePlaylist:(id)a0; - (void)clearSagaLastPlaylistPlayDataUploadDate; - (void)performStoreAlbumArtistLibraryImport:(id)a0 withCompletion:(id /* block */)a1; - (void)addItemWithProductID:(id)a0 completionHandler:(id /* block */)a1; - (id)entityWithSiriSyncIdentifier:(id)a0; - (void)_reloadLibraryForContentsChangeWithNotificationInfo:(id)a0; - (id)URLForHomeSharingRequest:(id)a0; - (BOOL)playlistExistsWithPersistentID:(unsigned long long)a0; - (id)itemWithStoreID:(unsigned long long)a0; - (void)addGlobalPlaylistWithID:(id)a0 andAddToCloudLibrary:(BOOL)a1 completion:(id /* block */)a2; - (void)addNonLibraryOwnedPlaylistWithGlobalID:(id)a0 completion:(id /* block */)a1; - (void)enumerateEntityChangesAfterSyncAnchor:(id)a0 maximumRevisionType:(long long)a1 usingBlock:(id /* block */)a2; - (void)_reloadLibraryForDynamicPropertyChangeWithNotificationInfo:(id)a0; - (void).cxx_destruct; - (void)_updateDeviceLibrary:(struct shared_ptr { struct DeviceLibrary *x0; struct __shared_weak_count *x1; })a0 expectedEntityCountForEntityClass:(void *)a1 count:(unsigned long long)a2; - (void)populateLocationPropertiesOfItem:(id)a0 withPath:(id)a1 assetProtectionType:(long long)a2; - (id)libraryDataProvider; - (id)uniqueIdentifier; - (BOOL)deleteItems:(id)a0; - (BOOL)hasGeniusMixes; - (id)entityCache; - (void)_clearCachedContentDataAndResultSets:(BOOL)a0; - (void)clearSagaCloudAccountID; - (void)_reloadLibraryForPathChange; - (id)addPlaylistWithName:(id)a0 activeGeniusPlaylist:(BOOL)a1; - (void)activeUserChangeDidFinish; - (BOOL)hasComposers; - (id)_initWithUserIdentity:(id)a0; - (BOOL)deleteDatabaseProperty:(id)a0; - (id)name; - (BOOL)hasAudiobooks; - (id)_itemsForQueryCriteria:(id)a0; - (id)databasePath; - (id)_addPlaylistWithName:(id)a0 activeGeniusPlaylist:(BOOL)a1 externalVendorIdentifier:(id)a2; - (void)_setLibraryFilterPredicates; - (void)importArtworkTokenForEntityPersistentID:(unsigned long long)a0 entityType:(long long)a1 artworkToken:(id)a2 artworkType:(long long)a3 sourceType:(long long)a4; - (BOOL)itemExistsInDatabaseWithPersistentID:(unsigned long long)a0; - (id)photosMemoriesPlaylist; - (void)_clearCachedEntitiesIncludingResultSets:(BOOL)a0; - (long long)playlistGeneration; - (BOOL)isCurrentThreadInTransaction; - (BOOL)importOriginalArtworkFromImageData:(id)a0 withArtworkToken:(id)a1 artworkType:(long long)a2 sourceType:(long long)a3 mediaType:(unsigned long long)a4; - (void)addStoreItemIDs:(id)a0 andAddTracksToCloudLibrary:(BOOL)a1 withCompletion:(id /* block */)a2; - (BOOL)hasAudibleAudioBooks; - (void)addToLocalDeviceLibraryGlobalPlaylistWithID:(id)a0 completion:(id /* block */)a1; - (BOOL)hasSongs; - (id)artworkDataSource; - (void)_displayValuesDidChangeNotification:(id)a0; - (void)addNonLibraryOwnedPlaylistsWithGlobalIDs:(id)a0 completion:(id /* block */)a1; - (void)setCloudFilteringType:(long long)a0; - (BOOL)isEqual:(id)a0; - (BOOL)hasVideos; - (void)removeLibraryFilterPredicate:(id)a0; - (void)_activeUserDidChangeNotification:(id)a0; - (BOOL)performTransactionWithBlock:(id /* block */)a0; - (BOOL)writable; - (BOOL)hasArtists; - (void)logDatabaseAccess; - (void)_canShowCloudTracksDidChangeNotification:(id)a0; - (BOOL)hasVideoPodcasts; - (BOOL)hasVideoITunesUContent; - (void)clearSagaLastItemPlayDataUploadDate; - (id)connectionAssertionWithIdentifier:(id)a0; - (void)_clearPendingDisconnection; - (void)setValues:(id)a0 forProperties:(id)a1 forItemPersistentIDs:(id)a2; - (BOOL)hasMovieRentals; - (void)_performBlockOnLibraryHandlingTheSameAccount:(id /* block */)a0; - (BOOL)hasCompilations; - (void)performStoreItemLibraryImport:(id)a0 withCompletion:(id /* block */)a1; - (id)localizedSectionIndexTitles; - (id)initWithCoder:(id)a0; - (void)connectWithCompletionHandler:(id /* block */)a0; - (id)additionalLibraryFilterPredicates; - (id)_collectionPersistentIdentifiersForQueryCriteria:(id)a0; - (void)_scheduleLibraryChangeNotificationPostingBlock:(id /* block */)a0; - (id)entityWithMultiverseIdentifier:(id)a0; - (unsigned long long)_countOfCollectionsForQueryCriteria:(id)a0; - (BOOL)hasPodcasts; - (BOOL)hasUserPlaylistsContainingAppleMusicContent; - (BOOL)hasAddedToLibraryAppleMusicContent; - (BOOL)isGeniusEnabled; - (unsigned long long)currentEntityRevision; - (id)pathForAssetURL:(id)a0; - (BOOL)hasAlbums; - (void)setSyncPlaylistId:(unsigned long long)a0; - (BOOL)collectionExistsContainedWithinPersistentIDs:(const unsigned long long *)a0 count:(unsigned long long)a1 groupingType:(long long)a2 existentPID:(unsigned long long *)a3; - (id)playbackHistoryPlaylist; @end