@class NSURL, NSMutableDictionary, NSCountedSet, NSDate, NSObject, CPLEngineFeedbackManager, CPLEngineSyncManager, CPLEngineScheduler, CPLEngineTransport, NSString, NSHashTable, CPLEngineSystemMonitor, CPLConfiguration, NSArray, CPLPlatformObject, CPLEngineStore, NSError, CPLStatus; @protocol CPLEngineLibrarySupervisor, OS_dispatch_source, OS_dispatch_queue, CPLEngineLibraryOwner; @interface CPLEngineLibrary : NSObject { NSArray *_components; NSObject *_queue; NSObject *_closingQueue; NSMutableDictionary *_blocksToDispatchWhenLibraryAttaches; NSHashTable *_attachedObjects; NSHashTable *_invalidAttachedObjects; NSError *_openingError; CPLStatus *_status; BOOL _closed; BOOL _totalAssetCountHasBeenCalculated; NSDate *_cachedLastQuarantineCountReportDate; unsigned long long _totalAssetCount; NSCountedSet *_holdTestAssertions; id /* block */ _pingRequestToPushAllChanges; NSObject *_timerForPushRepositoryFlagsCountsHaveChanged; NSDate *_mostRecentScopeStatusCountsDidChangeNotificationDate; } @property (readonly, nonatomic) BOOL libraryIsCorrupted; @property (readonly) NSString *currentClosingComponentName; @property (readonly, copy, nonatomic) NSURL *clientLibraryBaseURL; @property (readonly, copy, nonatomic) NSURL *cloudLibraryStateStorageURL; @property (readonly, copy, nonatomic) NSURL *cloudLibraryResourceStorageURL; @property (readonly, copy, nonatomic) NSString *libraryIdentifier; @property (readonly, nonatomic) BOOL isSystemLibrary; @property (readonly, nonatomic) unsigned long long libraryOptions; @property (weak, nonatomic) id owner; @property (retain, nonatomic) id supervisor; @property (readonly, nonatomic) CPLEngineStore *store; @property (readonly, nonatomic) CPLEngineScheduler *scheduler; @property (readonly, nonatomic) CPLEngineSyncManager *syncManager; @property (readonly, nonatomic) CPLEngineTransport *transport; @property (readonly, nonatomic) CPLEngineSystemMonitor *systemMonitor; @property (readonly, nonatomic) CPLEngineFeedbackManager *feedback; @property (readonly, nonatomic) CPLConfiguration *configuration; @property (nonatomic) BOOL hasChangesToProcess; @property (nonatomic, getter=isWalrusEnabled) BOOL walrusEnabled; @property (nonatomic, getter=isUpgradeSuggestedToAccessAllPhotos) BOOL upgradeSuggestedToAccessAllPhotos; @property (nonatomic) long long serverFeatureCompatibleVersion; @property (nonatomic) BOOL containerHasBeenWiped; @property (nonatomic) BOOL iCloudLibraryClientVersionTooOld; @property (nonatomic) BOOL iCloudLibraryClientIsNotAuthenticated; @property (nonatomic) BOOL isStuckInExitForSharedLibrary; @property (readonly, nonatomic) NSDate *initialSyncDate; @property (nonatomic) BOOL isExceedingQuota; @property (nonatomic) BOOL isExceedingSharedLibraryQuota; @property (nonatomic) unsigned long long estimatedCountOfRemainingRecordsDuringSharedLibraryExit; @property (nonatomic) long long busyState; @property (nonatomic) BOOL iCloudLibraryHasBeenWiped; @property (nonatomic) BOOL iCloudLibraryExists; @property (copy, nonatomic) NSDate *exitDeleteTime; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) CPLPlatformObject *platformObject; + (id)platformImplementationProtocol; - (id)componentName; - (void)testKey:(id)a0 value:(id)a1 completionHandler:(id /* block */)a2; - (id)corruptionInfo; - (void)openWithCompletionHandler:(id /* block */)a0; - (id)redactedDescription; - (void)statusDidChange:(id)a0; - (void)setHasCellularBudget:(BOOL)a0 hasBatteryBudget:(BOOL)a1 hasLowBatteryLevel:(BOOL)a2 isConstrainedNetwork:(BOOL)a3 isBlockedByLowPowerMode:(BOOL)a4 hasHeavyResourceUsage:(BOOL)a5 hasPoorNetworkQuality:(BOOL)a6 hasModerateThermalPressure:(BOOL)a7 hasThermalPressure:(BOOL)a8 hasPoorSystemConditions:(BOOL)a9 isBudgetValid:(BOOL)a10 blockedReason:(long long)a11 unBlockedReason:(long long)a12; - (void)emergencyClose; - (void)requestClientToPushAllChangesWithCompletionHandler:(id /* block */)a0; - (void)getStatusForComponents:(id)a0 completionHandler:(id /* block */)a1; - (void)closeAndDeactivate:(BOOL)a0 completionHandler:(id /* block */)a1; - (void)provideCloudResource:(id)a0 completionHandler:(id /* block */)a1; - (void).cxx_destruct; - (void)setConnectedToNetwork:(BOOL)a0 cellularIsRestricted:(BOOL)a1 inAirplaneMode:(BOOL)a2; - (void)getStatusArrayForComponents:(id)a0 completionHandler:(id /* block */)a1; - (void)provideScopeChangeForScopeWithIdentifier:(id)a0 completionHandler:(id /* block */)a1; - (id)initWithClientLibraryBaseURL:(id)a0 cloudLibraryStateStorageURL:(id)a1 cloudLibraryResourceStorageURL:(id)a2 libraryIdentifier:(id)a3 options:(unsigned long long)a4; - (void)startSyncSession; - (void)provideRecordWithCloudScopeIdentifier:(id)a0 completionHandler:(id /* block */)a1; - (void)setLowDiskSpace:(BOOL)a0 veryLowDiskSpace:(BOOL)a1; - (void)getListOfComponentsWithCompletionHandler:(id /* block */)a0; - (id)_allComponentsIncludingPlatformObjects:(BOOL)a0 respondingToSelector:(SEL)a1; - (void)_cancelBlockWhenLibraryAttaches:(id)a0; - (void)_closeNextComponent:(id)a0 deactivate:(BOOL)a1 lastError:(id)a2 completionHandler:(id /* block */)a3; - (void)_fillStatus:(id)a0 forComponents:(id)a1 completionHandler:(id /* block */)a2; - (void)_fillStatusArray:(id)a0 forComponents:(id)a1 completionHandler:(id /* block */)a2; - (id)_libraryObject; - (void)_notifyAttachedObjectsThatPushRepositoryFlagsCountsHaveChanged; - (void)_openNextComponent:(id)a0 completionHandler:(id /* block */)a1; - (id)_performBlockWhenLibraryAttaches:(id /* block */)a0; - (void)_performBlockWithLibrary:(BOOL)a0 enumerateAttachedObjects:(id /* block */)a1; - (void)_performPendingBlockForWhenLibraryAttaches; - (void)_reportQuarantineCountIfNecessaryWithLastReportDate:(id)a0; - (void)_setCurrentClosingComponentName:(id)a0; - (void)_testKey:(id)a0 value:(id)a1 completionHandler:(id /* block */)a2; - (void)_updateTotalAssetCountWithAssetCounts:(id)a0; - (void)attachObject:(id)a0 withCompletionHandler:(id /* block */)a1; - (void)blockEngineWithReason:(id)a0 onlyIfBlocked:(BOOL)a1 block:(id /* block */)a2; - (void)clientIsPushingChanges; - (void)detachObject:(id)a0 withCompletionHandler:(id /* block */)a1; - (void)forceBackupWithActivity:(id)a0 forceClientPush:(BOOL)a1 completionHandler:(id /* block */)a2; - (void)forceFetchAccountFlags; - (BOOL)hasAccountFlagsData; - (BOOL)hasAssetCountOnServer; - (void)markAttachedObjectAsInvalid:(id)a0; - (void)notifyAttachedObjectsHasStatusChanges; - (void)notifyAttachedObjectsPullQueueIsFull; - (void)notifyAttachedObjectsResourceDidDownloadInBackground:(id)a0; - (void)notifyAttachedObjectsResourceDidFailBackgroundDownloadOfResource:(id)a0; - (void)notifyAttachedObjectsSizeOfResourcesToUploadDidChangeToSize:(unsigned long long)a0 sizeOfOriginalResourcesToUpload:(unsigned long long)a1 numberOfImages:(unsigned long long)a2 numberOfVideos:(unsigned long long)a3 numberOfOtherItems:(unsigned long long)a4; - (void)notifyAttachedObjectsThatPushRepositoryFlagsCountsHaveChanged; - (void)notifyAttachedObjectsUploadTask:(id)a0 didFinishWithError:(id)a1; - (void)notifyAttachedObjectsUploadTask:(id)a0 didProgress:(float)a1; - (void)notifyAttachedObjectsUploadTaskDidStart:(id)a0; - (void)performBlockOnLibrary:(id /* block */)a0; - (void)performMaintenanceCleanupWithCompletionHandler:(id /* block */)a0; - (void)reportLibraryCorrupted; - (void)reportQuarantineCountIfNecessary; - (void)reportRadar:(unsigned long long)a0; - (void)reportUnsuccessfulSync; - (void)requestAttachedLibrary; - (unsigned long long)totalAssetCountOnServer; - (void)updateAccountFlagsData:(id)a0; - (void)updateAssetCountsFromServer:(id)a0; - (void)updateBlockedMetrics:(BOOL)a0 syncRequested:(BOOL)a1; - (void)updateDisabledFeatures:(id)a0; - (void)updateInitialSyncDate:(id)a0; - (void)updateLastSuccessfullSyncDate:(id)a0; @end