@class PLLibraryServicesManager, PLSimpleDCIMDirectory, PLIndicatorFileCoordinator, NSObject; @protocol OS_dispatch_queue, OS_os_transaction; @interface PLImageWriter : NSObject { NSObject *_jobQueue; NSObject *_jobCompletionQueue; struct os_unfair_recursive_lock_s { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } ourl_lock; unsigned int ourl_count; } _jobCountLock; int _unfinishedJobsRequiringIndicatorCount; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _transactionLock; unsigned long long _transactionCounter; unsigned long long _crashRecoveryCounter; NSObject *_transaction; PLSimpleDCIMDirectory *_iTunesSyncedAssetsDCIMDirectory; PLIndicatorFileCoordinator *_indicatorFileCoordinator; PLLibraryServicesManager *_libraryServicesManager; struct atomic_flag { _Atomic BOOL _Value; } _isCrashRecoveryJobInProgress; } + (id)assetAdjustmentsFromCameraFilters:(id)a0 portraitMetadata:(id)a1 exportProperties:(id)a2 cameraMetadata:(id)a3; + (id)_assetAdjustmentsFromCameraAdjustmentsFileAtPath:(id)a0 exportProperties:(id)a1 cameraMetadata:(id)a2; + (BOOL)setAdjustmentsForNewPhoto:(id)a0 mainFileMetadata:(id)a1 cameraAdjustmentData:(id)a2 adjustmentDataPath:(id)a3 filteredImagePath:(id)a4 cameraMetadata:(id)a5 finalAssetSize:(struct CGSize { double x0; double x1; })a6 isSubstandardRender:(BOOL)a7; + (id)assetAdjustmentsFromCameraAdjustments:(id)a0 cameraMetadata:(id)a1 exportProperties:(id)a2 applySemanticEnhance:(BOOL)a3; + (id)pathComponentForIncomingHoldingDirectory; + (BOOL)_requiresIndicatorFileForJobType:(id)a0; + (id)_pathsByAssetUUIDFromIncomingCrashRecoveryPaths:(id)a0; + (id)semanticEnhancePreviewDestinationURLForPrimaryAssetURL:(id)a0; + (id)_assetAdjustmentsFromCameraAdjustmentData:(id)a0 cameraMetadata:(id)a1 exportProperties:(id)a2 assetType:(short)a3 applySemanticEnhance:(BOOL)a4; + (BOOL)semanticEnhanceSceneIsValid:(long long)a0; + (id)assetAdjustmentsFromCameraAdjustmentData:(id)a0 exportProperties:(id)a1; + (id)cameraMetadataURLForPrimaryAssetURL:(id)a0 photoLibrary:(id)a1; + (void)setAdjustmentsForNewVideo:(id)a0 mainFileMetadata:(id)a1 withAdjustmentsDictionary:(id)a2 cameraAdjustments:(id)a3 renderedContentPath:(id)a4 renderedPosterFramePreviewPath:(id)a5 finalAssetSize:(struct CGSize { double x0; double x1; })a6; + (id)finalizedAssetURLForDeferredPhotoPreviewURL:(id)a0 extension:(id)a1; + (BOOL)isDeferredPhotoPreviewURL:(id)a0; + (BOOL)isSpatialOverCaptureURL:(id)a0; + (id)assetAdjustmentsFromCompositionController:(id)a0 exportProperties:(id)a1; + (id)_assetUUIDFromIncomingFilename:(id)a0; + (BOOL)_hasPrimaryAssetAndAdjustmentsFilesWithType:(short)a0 inIncomingFilenames:(id)a1 forAssetUUID:(id)a2; + (id)assetAdjustmentsFromCameraAdjustmentData:(id)a0 cameraMetadata:(id)a1 exportProperties:(id)a2 applySemanticEnhance:(BOOL)a3; + (BOOL)_requiresAssetUUIDForJobType:(id)a0; + (BOOL)_requiresCrashRecoveryForJobType:(id)a0; + (id)_assetAdjustmentsFromCameraAdjustments:(id)a0 cameraMetadata:(id)a1 exportProperties:(id)a2 assetType:(short)a3 applySemanticEnhance:(BOOL)a4; + (id)assetAdjustmentsFromCameraAdjustments:(id)a0 cameraMetadata:(id)a1 exportProperties:(id)a2; - (id)initWithLibraryServicesManager:(id)a0; - (void)_handleCameraMetadataCrashRecovery:(id)a0; - (id)init; - (id)indicatorFileCoordinator; - (BOOL)imageWriterJob:(id)a0 hasValidPathsWithConnection:(id)a1; - (void)saveAssetJob:(id)a0 imageSurface:(id)a1 previewImageSurface:(id)a2 completionHandler:(id /* block */)a3; - (void)_processDaemonJob:(id)a0 completion:(id /* block */)a1; - (void)_processCrashRecoveryJob:(id)a0 completion:(id /* block */)a1; - (id)pathForOriginalMyPhotoStreamAssetWithJob:(id)a0; - (void)_processXPCDaemonJob:(id)a0 completion:(id /* block */)a1; - (void)_handlePhotoIrisCrashRecoveryForVideos:(id)a0; - (BOOL)_retryPairedVideoJob:(id)a0 pairingType:(id)a1 pairingIdentifier:(id)a2 retryMax:(unsigned long long)a3; - (void)_processAvalanchesValidationJob:(id)a0 completion:(id /* block */)a1; - (void)_resetSyncedAssetsDCIMDirectory; - (void)_copyJobContentsToHoldingDirectoryWithUUID:(id)a0 incomingPath:(id)a1 job:(id)a2; - (void)_handleAvalancheCrashRecovery:(id)a0; - (void)_incrementJobCount:(id)a0; - (void)_processDeletePhotoStreamAssetsWithUUIDs:(id)a0 withReason:(id)a1 completion:(id /* block */)a2; - (BOOL)_enterAtomicCrashRecoveryJobProcessing; - (void)_signalBackgroundProcessingNeededForAsset:(id)a0 reason:(id)a1; - (void)_processSavePhotoStreamImageToCameraRollJob:(id)a0 completion:(id /* block */)a1; - (void)_handlePhotoIrisCrashRecoveryForPhotoIndicatorFiles:(id)a0; - (BOOL)_hasNonCrashRecoveryJobsEnqueued; - (id)_pathForNewAssetWithPath:(id)a0 withExtension:(id)a1; - (id)pathForNewAssetPathAtAlbumDirectoryPath:(id)a0 assetType:(unsigned int)a1 extension:(id)a2; - (void)_processVideoSaveJob:(id)a0 completion:(id /* block */)a1; - (id)iTunesSyncedAssetsDCIMDirectory; - (void)_removeTransientKeys:(id)a0; - (BOOL)_writeOutCameraMetadata:(id)a0 destinationURL:(id)a1 error:(id *)a2; - (id)writeFilteredPreviewWithImageData:(id)a0 orImage:(id)a1 toPathWithBaseName:(id)a2; - (void)_removeInProgressExtendedAttributesForFileAtURL:(id)a0; - (id)_processLimitedLibraryAdditionIfNeededWithAssetUUID:(id)a0 clientBundleIdentifier:(id)a1 clientAuthorization:(id)a2 library:(id)a3; - (id)cameraAssetPathForNewAssetWithExtension:(id)a0 assetUUID:(id)a1; - (void)_linkDiagnosticFileWithSourcePath:(id)a0 forPhotoDestinationURL:(id)a1; - (BOOL)_isHighPriorityJob:(id)a0; - (void)cleanupFilesInLibrary:(id)a0 afteriTunesSyncBeforeDate:(id)a1; - (id)pathForNewAssetWithDirectoryPath:(id)a0 fileName:(id)a1 extension:(id)a2; - (void)_processSyncedVideoSaveJob:(id)a0 completion:(id /* block */)a1; - (void)_processAutodeleteEmptyAlbumJob:(id)a0 completion:(id /* block */)a1; - (void)_processJob:(id)a0; - (void).cxx_destruct; - (void)_decrementJobCount:(id)a0; - (void)_photoIrisPairingDidSucceed:(BOOL)a0 fileIndicatorPath:(id)a1 photoAsset:(id)a2 photoLibrary:(id)a3; - (id)_fetchPhotoAssetForUUID:(id)a0 moc:(id)a1; - (void)_processBatchImageJob:(id)a0 inLibrary:(id)a1 completion:(id /* block */)a2; - (void)_enablePhotoStreamJob:(id)a0 completion:(id /* block */)a1; - (BOOL)canEnqueueJob:(id)a0; - (void)_processSyncClientSaveJobsJob:(id)a0 completion:(id /* block */)a1; - (void)_exitAtomicCrashRecoveryJobProcessing; - (void)_processVideoJob:(id)a0 completion:(id /* block */)a1; - (BOOL)_transferVideoFromIncomingPath:(id)a0 toDestinationPath:(id)a1 shouldRemoveIncoming:(BOOL *)a2 error:(id *)a3; - (BOOL)enqueueJob:(id)a0; - (void)_processReenqueueAssetUUIDsToPhotoStreamJob:(id)a0 completion:(id /* block */)a1; - (void)delayJob:(id)a0 delay:(long long)a1; - (void)_processDeletePhotoStreamDataJob:(id)a0 withReason:(id)a1 completion:(id /* block */)a2; - (void)_handleCameraAdjustments:(id)a0 fullsizeRenders:(id)a1 largeThumbnails:(id)a2; - (void)enqueueAutoDeleteEmptyAlbumJobWithAlbumID:(id)a0; - (void)_processAvalancheJob:(id)a0 completion:(id /* block */)a1; - (id)_newShortLivedLibraryWithName:(const char *)a0; - (void)_processImageJob:(id)a0 inLibrary:(id)a1 completion:(id /* block */)a2; - (void)processSyncSaveJob:(id)a0 library:(id)a1 albumMap:(id)a2; @end