text: //
  //     Generated by class-dump 3.5 (64 bit).
  //
  //     class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
  //
  
  #import "NSObject.h"
  
  @class NSArray, NSMutableArray, NSObject<PLAlbumProtocol>, NSPersistentStore, NSSet, NSString, PAImageConversionServiceClient, PAVideoConversionServiceClient, PLGenericAlbum, PLKeywordManager, PLLibraryServicesManager, PLManagedObjectContext, PLPhotoLibraryBundle, PLPhotoLibraryOptions, PLPhotoLibraryPathManager, PLThumbnailIndexes, PLThumbnailManager;
  
  @interface PLPhotoLibrary : NSObject
  {
      unsigned long long _pendingTransactions;
      NSMutableArray *_transactionCompletionHandlers;
      PLGenericAlbum *_allImportedPhotosAlbum;
      PLGenericAlbum *_lastImportedPhotosAlbum;
      NSSet *_imageFileExtensions;
      NSSet *_rawImageFileExtensions;
      NSSet *_audioFileExtensions;
      NSSet *_extraVideoExtensions;
      PLPhotoLibraryBundle *_libraryBundle;
      struct os_unfair_lock_s _managedObjectContextLock;
      PLManagedObjectContext *_managedObjectContext;
      NSPersistentStore *_loadedPersistentStore;
      PAImageConversionServiceClient *_imageConversionServiceClient;
      PAVideoConversionServiceClient *_videoConversionServiceClient;
      PLPhotoLibraryPathManager *_pathManager;
      PLLibraryServicesManager *_libraryServicesManager;
      NSString *_name;
      PLPhotoLibraryOptions *_options;
  }
  
  + (unsigned long long)CloudPhotoLibrarySize;
  + (BOOL)_assetsLibrary_isSharedPhotoStreamsSupportEnabled;
  + (void)_assetsLibrary_disableSharedPhotoStreamsSupport;
  + (void)refreshCachedCountsAndDates:(BOOL)arg1 onAssetsContainerClass:(Class)arg2 inContext:(id)arg3 withPredicate:(id)arg4;
  + (void)refreshCachedCountsOnAllAssetContainersInContext:(id)arg1;
  + (BOOL)canSaveVideoToLibrary:(id)arg1;
  + (id)resourcesInfoFromMoc:(id)arg1;
  + (void)_getResourceData:(id)arg1 nonDerivativeSizeOut:(unsigned long long *)arg2 derivativesSizeOut:(unsigned long long *)arg3 fileBackedThumbnailsSizeOut:(float *)arg4 tableThumbnailsSizeOut:(float *)arg5;
  + (int)priorityForFileExtension:(id)arg1;
  + (BOOL)isAdjustmentEnvelopeExtension:(id)arg1;
  + (BOOL)isAudioFileExtension:(id)arg1;
  + (BOOL)isVideoFileExtension:(id)arg1;
  + (BOOL)isNonRawImageFileExtension:(id)arg1;
  + (BOOL)isRawImageFileExtension:(id)arg1;
  + (BOOL)isImageFileExtension:(id)arg1;
  + (void)_loadFileExtensionInformation;
  + (id)masterURLFromSidecarURLs:(id)arg1;
  + (id)photoOutboundSharingTmpDirectoryURL;
  + (void)exitToRelocatePhotoLibrary;
  + (id)_getLibraryPathFromTriggerFile;
  + (void)removeRelocateLibraryTriggerFile;
  + (void)createRelocateLibraryTriggerFileWithPath:(id)arg1;
  + (BOOL)removeFaceMetadataAtURL:(id)arg1 includingPeople:(BOOL)arg2;
  + (id)fileReservationForFileAtPath:(id)arg1 exclusive:(BOOL)arg2;
  + (void)postGlobalPhotoLibraryAvailableIfNecessary;
  + (BOOL)photoLibraryIsObtainable;
  + (BOOL)systemPhotoLibraryIsObtainable;
  + (void)setCloudAlbumSharingEnabled:(BOOL)arg1;
  + (void)setPhotoStreamEnabled:(BOOL)arg1;
  + (id)newPhotoLibraryWithName:(const char *)arg1 loadedFromBundle:(id)arg2 options:(id)arg3 error:(id *)arg4;
  + (id)newPhotoLibraryWithName:(const char *)arg1 loadedFromURL:(id)arg2 options:(id)arg3 error:(id *)arg4;
  + (BOOL)areOpportunisticTasksDisabled;
  + (id)opportunisticTaskIsolationQueue;
  + (id)unitTestPhotoLibrary;
  + (id)diagnosticsPhotoLibrary;
  + (id)myPhotoStreamPhotoLibrary;
  + (id)cloudSharingPhotoLibrary;
  + (id)cmmPhotoLibrary;
  + (id)cplPhotoLibrary;
  + (id)cameraPhotoLibrary;
  + (id)_internalSystemPhotoLibrary;
  + (id)systemMainQueuePhotoLibrary;
  + (id)systemPhotoLibrary;
  + (id)sharedPhotoLibrary;
  + (void)initialize;
  + (void)_context:(id)arg1 saveFailedWithError:(id)arg2;
  + (void)_contextSaveFailedDueToClientRequestedShutdown:(id)arg1;
  + (void)_contextSaveFailedDueToChangingSPL:(id)arg1;
  + (void)_contextSaveFailedWithNoPersistentStores:(id)arg1;
  + (void)_contextSaveFailedWithError:(id)arg1;
  + (void)_contextSaveFailedWithSQLiteError:(id)arg1;
  + (void)_contextSaveFailedWithTimeoutError:(id)arg1;
  @property(readonly, nonatomic) PLPhotoLibraryOptions *options; // @synthesize options=_options;
  @property(readonly) PLPhotoLibraryBundle *libraryBundle; // @synthesize libraryBundle=_libraryBundle;
  @property(readonly, copy, nonatomic) NSString *name; // @synthesize name=_name;
  @property(readonly, nonatomic) __weak PLLibraryServicesManager *libraryServicesManager; // @synthesize libraryServicesManager=_libraryServicesManager;
  @property(readonly, nonatomic) PLPhotoLibraryPathManager *pathManager; // @synthesize pathManager=_pathManager;
  - (void).cxx_destruct;
  - (id)personInfoManager;
  - (unsigned long long)numberOfUnpushedAssetsOfKind:(short)arg1;
  - (unsigned long long)numberOfCPLSupportedAssetsOfKind:(short)arg1 includingTrashedSinceDate:(id)arg2;
  @property(readonly, getter=isCloudPhotoLibraryEnabled) BOOL cloudPhotoLibraryEnabled;
  - (unsigned long long)sharedStreamsSize;
  - (void)deleteExpiredTrashedAssetsAndAlbums;
  - (void)deleteExpiredTrashedResources;
  - (void)scheduleUserInitiatedAnalysisForAssets:(id)arg1;
  - (void)updateAlbumKeyAssetsInContext:(id)arg1 withPredicate:(id)arg2;
  - (void)_updateMemoryCountKeyPath:(id)arg1 withPendingCountKeyPath:(id)arg2 inContext:(id)arg3;
  - (void)updateMemoryPlayShareViewCountsInContext:(id)arg1;
  - (void)_updateAssetCountKeyPath:(id)arg1 withPendingCountKeyPath:(id)arg2 inContext:(id)arg3;
  - (void)updateAssetPlayShareViewCountsInContext:(id)arg1;
  - (void)old_refreshCachedCountsOnAllAssetContainersInContext:(id)arg1;
  - (BOOL)isAlbumSynced:(id)arg1;
  - (id)syncedAlbumSubtitleStringFormat;
  - (BOOL)_checkMomentAnalysisCompletion;
  - (BOOL)hasCompletedMomentAnalysis;
  - (id)incompleteRestoreProcesses;
  - (BOOL)isReadyForCloudPhotoLibrary;
  - (BOOL)hasCompletedRestorePostProcessing;
  - (BOOL)hasPendingAssetsIgnoreiTunes:(BOOL)arg1;
  - (id)syncProgressAlbumsIgnoreiTunes:(BOOL)arg1;
  - (id)librarySizes;
  - (id)estimatedLibrarySizes;
  - (unsigned long long)_dbFileSizes;
  - (unsigned long long)_fileSizeAtPath:(id)arg1;
  - (id)librarySizesFromDB;
  - (void)countOfReferencedMediaWithCompletionHandler:(CDUnknownBlockType)arg1;
  - (BOOL)getPhotoCount:(unsigned long long *)arg1 videoCount:(unsigned long long *)arg2;
  - (BOOL)getPhotoCount:(unsigned long long *)arg1 videoCount:(unsigned long long *)arg2 excludeTrashed:(BOOL)arg3 excludeInvisible:(BOOL)arg4 excludeCloudShared:(BOOL)arg5;
  - (id)albumListForContentMode:(int)arg1;
  @property(readonly) PLKeywordManager *keywordManager;
  - (id)assetsdClient;
  - (void)_processPhotoIrisSidecarIfNecessary:(id)arg1 forAsset:(id)arg2;
  - (void)_applyAdjustmentFileInfo:(id)arg1 renderedContentFileInfo:(id)arg2 renderedVideoComplementFileInfo:(id)arg3 toAsset:(id)arg4 withMainFileURL:(id)arg5;
  - (void)_applySideCarFiles:(id)arg1 toAsset:(id)arg2 withMainFileURL:(id)arg3;
  - (id)addDCIMEntryAtFileURL:(id)arg1 toEvent:(struct NSObject *)arg2 sidecarFileInfo:(id)arg3 progress:(id)arg4 importSessionIdentifier:(id)arg5 isImported:(BOOL)arg6 previewImage:(struct NSObject *)arg7 thumbnailImage:(struct NSObject *)arg8 savedAssetType:(short)arg9 replacementUUID:(id)arg10 publicGlobalUUID:(id)arg11 extendedInfo:(id)arg12 withUUID:(id)arg13 ignoreEmbeddedMetadata:(BOOL)arg14 isPlaceholder:(BOOL)arg15 placeholderFileURL:(id)arg16;
  - (void)modifyDCIMEntryForPhoto:(id)arg1;
  - (id)photoOutboundSharingTmpDirectoryURL;
  - (struct NSObject *)newImageForPhoto:(id)arg1 format:(unsigned short)arg2;
  - (struct NSObject *)newImageForPhoto:(id)arg1 format:(unsigned short)arg2 allowPlaceholder:(BOOL)arg3 outImageProperties:(const struct __CFDictionary **)arg4 outDeliveredPlaceholder:(char *)arg5;
  - (struct NSObject *)imageForFormat:(unsigned short)arg1 forAsset:(id)arg2;
  @property(readonly, retain, nonatomic) NSObject<PLAlbumProtocol> *filesystemImportProgressAlbum;
  @property(readonly, retain, nonatomic) NSObject<PLAlbumProtocol> *otaRestoreProgressAlbum;
  @property(readonly, retain, nonatomic) NSObject<PLAlbumProtocol> *syncProgressAlbum;
  @property(readonly, retain, nonatomic) NSArray *syncedAlbums;
  - (void)resetCachedImportAlbumsIfNeededForAlbum:(id)arg1;
  - (id)lastImportedPhotosAlbumCreateIfNeeded:(BOOL)arg1;
  - (id)lastImportedPhotosAlbum;
  - (id)allImportedPhotosAlbumCreateIfNeeded:(BOOL)arg1;
  - (id)allImportedPhotosAlbum;
  - (void)_removeOldFaceMetadataAsync;
  - (void)_enumerateFilesAtURL:(id)arg1 withBlock:(CDUnknownBlockType)arg2;
  - (void)_enumerateFilesAtURLs:(id)arg1 withBlock:(CDUnknownBlockType)arg2;
  - (void)_recreateItemsFromMetadataAtDirectoryURLs:(id)arg1 includeAlbums:(BOOL)arg2;
  - (void)_deleteEmptyImportAlbumsWithAddedAlbums:(id)arg1;
  - (void)recreatePersonsFromMetadata;
  - (void)recreateMemoriesAndPersonsFromMetadata;
  - (void)recreateAlbumsAndPersonsFromMetadata;
  - (void)setICloudPhotosEnabled:(BOOL)arg1 withClient:(id)arg2;
  - (void)invalidateWithReason:(id)arg1;
  - (id)managedObjectContextStoreUUID;
  - (void)setGlobalValue:(id)arg1 forKey:(id)arg2;
  - (id)globalValueForKey:(id)arg1;
  - (void)repairSingletonObjects;
  - (id)_loadDatabaseContext:(id *)arg1;
  - (id)_loadServerDatabaseContext:(id *)arg1;
  - (id)_loadClientDatabaseContext:(id *)arg1;
  - (id)_loadClientDatabaseContextFastPathAndReturnAbortAfterOpen:(char *)arg1;
  - (BOOL)_shouldTryFastPath;
  - (void)cleanupIncompleteAssetsAfterOTARestore;
  - (void)dataMigratorSupportCleanupModelForDataMigrationPurgeMissingSharedAndSynced;
  - (id)_fetchCompleteAssetIDsWithSavedAssetType:(short)arg1 context:(id)arg2;
  - (BOOL)batchDeleteObjectsWithEntity:(id)arg1 predicate:(id)arg2 error:(id *)arg3;
  - (BOOL)batchDeleteAssetsWithPredicate:(id)arg1 reason:(id)arg2 error:(id *)arg3;
  - (id)_fetchedObjectsForDeleteWithEntity:(id)arg1 predicate:(id)arg2 batchSize:(unsigned long long)arg3 error:(id *)arg4;
  - (void)batchDeleteAssets:(id)arg1 withReason:(id)arg2;
  - (BOOL)safeSave:(id)arg1 error:(id *)arg2;
  - (void)_safeSave:(id)arg1;
  - (void)cleanupAfterImportAllDCIMAssets;
  - (void)_deleteObsoleteMetadataFiles;
  - (BOOL)deleteAllDiagnosticFiles:(id *)arg1;
  - (struct NSObject *)albumFromGroupURL:(id)arg1;
  - (id)photoFromAssetURL:(id)arg1;
  - (id)assetURLForPhoto:(id)arg1;
  - (id)assetURLForPhoto:(id)arg1 extension:(id)arg2;
  - (id)duplicatePhotoStreamPhotosForPhotos:(id)arg1;
  - (void)createPhotoStreamAlbumWithStreamID:(id)arg1;
  - (void)_inq_createPhotoStreamAlbumStreamID:(id)arg1;
  - (void)userExpungeAssets:(id)arg1;
  - (void)userUntrashAssets:(id)arg1;
  - (void)userTrashAssets:(id)arg1;
  - (void)_reportExpungedAssets:(id)arg1;
  - (void)_userApplyTrashedState:(short)arg1 toAssets:(id)arg2;
  - (void)_filterAssets:(id)arg1 toTrashableAssets:(id *)arg2 deletableAssets:(id *)arg3 otherAssets:(id *)arg4;
  - (void)_userDeleteAssets:(id)arg1 withReason:(id)arg2;
  - (id)assetWithUUID:(id)arg1 inContainer:(id)arg2;
  - (id)assetWithUUID:(id)arg1;
  - (id)objectWithObjectID:(id)arg1;
  - (unsigned long long)countOfLocalAlbumsContainingAssets:(id)arg1 assetsInSomeAlbumCount:(long long *)arg2;
  - (struct NSObject *)eventAlbumContainingPhoto:(id)arg1;
  @property(readonly, copy, nonatomic) NSArray *photoStreamAlbumsForPreferences;
  @property(readonly, copy, nonatomic) NSArray *photoStreamAlbums;
  - (id)albumListForAlbumOfKind:(int)arg1;
  - (void)userExpungeAlbums:(id)arg1;
  - (void)userUntrashAlbums:(id)arg1;
  - (void)userTrashAlbums:(id)arg1;
  - (void)_userApplyTrashedState:(short)arg1 toAlbums:(id)arg2;
  - (void)_filterAlbums:(id)arg1 toTrashableAlbums:(id *)arg2 deletableAlbums:(id *)arg3 otherAlbums:(id *)arg4;
  - (void)_userDeleteAlbums:(id)arg1;
  - (struct NSObject *)albumWithUuid:(id)arg1;
  - (struct NSObject *)eventWithName:(id)arg1 andImportSessionIdentifier:(id)arg2;
  - (void)addCompletionHandlerToCurrentTransaction:(CDUnknownBlockType)arg1;
  - (void)deleteITunesSyncedContentForEnablingiCPL;
  - (id)iTunesSyncedContentInfo;
  - (BOOL)hasITunesSyncedContent;
  - (BOOL)_hasIncompleteAsset;
  - (void)_photoLibraryForceClientExitNotification;
  - (void)_photoLibraryCorruptNotification;
  - (id)constraintsDirector;
  - (id)photoAnalysisClient;
  - (void)clientApplicationWillEnterForeground;
  - (void)_doFilesystemImportIfNeededWithMOC:(id)arg1 reason:(id)arg2;
  @property(readonly, nonatomic) PLManagedObjectContext *managedObjectContext;
  - (void)handlePersistentStoreRemoval:(id)arg1;
  - (BOOL)loadDatabase:(id *)arg1;
  - (BOOL)unloadDatabase:(id *)arg1;
  - (void)_setManagedObjectContext:(id)arg1;
  - (void)dealloc;
  - (id)initWithName:(const char *)arg1 libraryBundle:(id)arg2 options:(id)arg3;
  - (id)_initWithPathManager:(id)arg1;
  - (id)init;
  - (void)disableOpportunisticTasks;
  - (void)enableOpportunisticTasks;
  - (id)description;
  - (void)handlePossibleCoreDataError:(id)arg1;
  @property(readonly, nonatomic) PAVideoConversionServiceClient *videoConversionServiceClient;
  @property(readonly, nonatomic) PAImageConversionServiceClient *imageConversionServiceClient;
  @property(readonly, nonatomic) PLThumbnailIndexes *thumbnailIndexes;
  @property(readonly, nonatomic) PLThumbnailManager *thumbnailManager;
  - (id)libraryID;
  - (void)_withDispatchGroup:(id)arg1 synchronously:(BOOL)arg2 name:(id)arg3 shouldSave:(BOOL)arg4 performTransaction:(CDUnknownBlockType)arg5 completionHandler:(CDUnknownBlockType)arg6;
  - (void)withDispatchGroup:(id)arg1 performBlock:(CDUnknownBlockType)arg2;
  - (void)withDispatchGroup:(id)arg1 performTransaction:(CDUnknownBlockType)arg2 completionHandler:(CDUnknownBlockType)arg3;
  - (void)withDispatchGroup:(id)arg1 performTransaction:(CDUnknownBlockType)arg2;
  - (void)performBlockAndWait:(CDUnknownBlockType)arg1 completionHandler:(CDUnknownBlockType)arg2;
  - (void)performBlockAndWait:(CDUnknownBlockType)arg1 forceSave:(BOOL)arg2;
  - (void)performBlockAndWait:(CDUnknownBlockType)arg1;
  - (void)performBlock:(CDUnknownBlockType)arg1 completionHandler:(CDUnknownBlockType)arg2 withPriority:(long long)arg3;
  - (void)performBlock:(CDUnknownBlockType)arg1 completionHandler:(CDUnknownBlockType)arg2;
  - (void)performBlock:(CDUnknownBlockType)arg1 withPriority:(long long)arg2;
  - (void)performBlock:(CDUnknownBlockType)arg1;
  - (void)performTransactionAndWaitWithName:(id)arg1 transaction:(CDUnknownBlockType)arg2 completionHandler:(CDUnknownBlockType)arg3;
  - (void)performTransactionAndWait:(CDUnknownBlockType)arg1 completionHandler:(CDUnknownBlockType)arg2;
  - (void)performTransactionWithName:(id)arg1 transaction:(CDUnknownBlockType)arg2 completionHandler:(CDUnknownBlockType)arg3;
  - (void)performTransaction:(CDUnknownBlockType)arg1 completionHandler:(CDUnknownBlockType)arg2;
  - (void)performTransaction:(CDUnknownBlockType)arg1 completionHandler:(CDUnknownBlockType)arg2 withPriority:(long long)arg3;
  - (void)performTransactionAndWait:(CDUnknownBlockType)arg1;
  - (void)performTransaction:(CDUnknownBlockType)arg1;
  - (void)performTransaction:(CDUnknownBlockType)arg1 withPriority:(long long)arg2;
  - (id)queueStatusDescription;
  
  @end
  
  