luxlabs header browser preview


@class NSMutableDictionary, NSString, PLLibraryServicesManager, NSMutableSet, NSMutableArray;

@interface PLCloudBatchUploader : NSObject {
    PLLibraryServicesManager *_lsm;
    NSMutableArray *_uploadBatchArray;
    NSMutableSet *_downloadedDeleteRecords;
    NSMutableSet *_cameraAsset;
    NSMutableDictionary *_recordsToDelete;
    NSString *_recordsToDeletePlistPath;
    NSMutableSet *_momentSharesNeedingForceSync;
}

@property BOOL initialUpload;
@property BOOL shouldGenerateDerivatives;

- (void)_push:(id)a0;
- (id)init;
- (void)_addAsset:(id)a0 toAssetChanges:(id)a1 isInsert:(BOOL)a2 seenAssetUuid:(id)a3;
- (void)_pushBatches:(id)a0;
- (id)_personsToUploadIncludingReverseOrderedMergeTargetsForPersons:(id)a0;
- (void)_cleanUploadedResources:(id)a0 inLibrary:(id)a1;
- (void)_processAlbumInserts:(id)a0 albumChanges:(id)a1 withBatchManager:(id)a2 inLibrary:(id)a3;
- (void)_clearSuccessfullyPushedDeletedRecords:(id)a0;
- (void)uploadFullPhotoLibraryToCloud:(id)a0;
- (void)_sendAssets:(id)a0 toBatchManager:(id)a1 inLibrary:(id)a2;
- (id)createBatchesForChanges:(id)a0 outInsertedPhotoCount:(unsigned long long *)a1 outInsertedVideoCount:(unsigned long long *)a2 withUploadTracker:(id)a3 inLibrary:(id)a4;
- (void)recordMomentSharesNeedingForceSync:(id)a0 inLibrary:(id)a1;
- (void)_sendOneBatch:(id)a0 toBatchManager:(id)a1 inLibrary:(id)a2;
- (void)_sortRelationshipData:(id)a0 forUploadChanges:(id)a1 inManagedObjectContext:(id)a2;
- (id)_syncDescriptionForObject:(id)a0;
- (void)_handleInvalidAsset:(id)a0;
- (void)_quarantineObject:(id)a0 uploadTracker:(id)a1;
- (BOOL)_validateAsset:(id)a0 onRelatedObject:(id)a1;
- (BOOL)_updateDeletionRecordListForKey:(id)a0 removingRecordID:(id)a1;
- (void)addBatches:(id)a0;
- (BOOL)_validateAdditionalAssetAttributes:(id)a0 onRelatedObject:(id)a1;
- (void)tryToFixCommitError:(id)a0 inUploadBatch:(id)a1 forRecords:(id)a2 uploadTracker:(id)a3 inLibrary:(id)a4;
- (void)_handleSharingChanges:(id)a0 forUploadEvent:(id)a1 inManagedObjectContext:(id)a2;
- (void)_promptToFileRadarWithTitle:(id)a0 description:(id)a1;
- (void)_processGenerateDerivativesCommitError:(id)a0 inUploadBatch:(id)a1 forRecords:(id)a2 inLibrary:(id)a3;
- (void)_sendAlbums:(id)a0 toBatchManager:(id)a1 inLibrary:(id)a2;
- (void)handleUploadBatchesFromLocalEvent:(id)a0 outInsertedPhotoCount:(unsigned long long *)a1 outInsertedVideoCount:(unsigned long long *)a2 shouldTriggerPrefetch:(BOOL *)a3 withUploadTracker:(id)a4 inLibrary:(id)a5;
- (void)_processInvalidExpungeableResourceTypesCommitError:(id)a0 inUploadBatch:(id)a1 forRecords:(id)a2 inLibrary:(id)a3;
- (void)_processInvalidScopeCommitError:(id)a0 inUploadBatch:(id)a1 forRecords:(id)a2 inLibrary:(id)a3;
- (void)processMomentSharesNeedingForceSyncInLibrary:(id)a0;
- (void)clearUploadArray;
- (void)recordDeletions:(id)a0;
- (BOOL)_hasUnuploadedResourceForAsset:(id)a0 resourceType:(unsigned long long)a1 cloudMaster:(id)a2;
- (void)uploadDeletedRecordsFromPlist:(id)a0;
- (void).cxx_destruct;
- (id)_validateAssets:(id)a0 fromCloudUuidDeleteList:(id)a1;
- (id)pop;
- (void)_processIncludeMasterCommitError:(id)a0 inUploadBatch:(id)a1 forRecords:(id)a2 inLibrary:(id)a3;
- (void)_incrementUploadAttemptsAndPushStateForAssets:(id)a0;
- (id)_getLocalRecordFromCPLRecord:(id)a0 inLibrary:(id)a1;
- (BOOL)hasBatchesToUpload;
- (unsigned long long)numberOfBatchesToUpload;
- (void)_processPendingObjects:(id)a0 withBatchManager:(id)a1 inLibrary:(id)a2;
- (void)_sortData:(id)a0 isInsert:(BOOL)a1 forUploadChanges:(id)a2 shouldTriggerPrefetch:(BOOL *)a3 inManagedObjectContext:(id)a4;
- (void)_promptForNilAssetUUID:(id)a0 isInsert:(BOOL)a1;
- (void)_processInvalidResourceCopySourceCommitError:(id)a0 inUploadBatch:(id)a1 forRecords:(id)a2 inLibrary:(id)a3;
- (void)_addLocalResourcesToRecord:(id)a0 inLibrary:(id)a1;
- (void)quarantineRecord:(id)a0 uploadTracker:(id)a1 inLibrary:(id)a2;
- (BOOL)_processRepushAlbumError:(id)a0 inUploadBatch:(id)a1 forRecords:(id)a2 inLibrary:(id)a3;
- (id)_fetchChangesFromLocalEvent:(id)a0 shouldTriggerPrefetch:(BOOL *)a1 inLibrary:(id)a2;
- (id)processCommitError:(id)a0 andFinalizeError:(id)a1 forUploadBatchContainer:(id)a2 withUploadTracker:(id)a3 inLibrary:(id)a4;
- (void)_processQuarantineRecordsCommitError:(id)a0 inUploadBatch:(id)a1 forRecords:(id)a2 uploadTracker:(id)a3 inLibrary:(id)a4;
- (void)_processChangeToFullRecordCommitError:(id)a0 inUploadBatch:(id)a1 forRecords:(id)a2 inLibrary:(id)a3;

@end