@class NSMutableDictionary; @interface PLRelationshipOrderKeyManager : NSObject { struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock; NSMutableDictionary *_locationsCache; NSMutableDictionary *_enqueuedFolderAlbumsOrderValueUpdates; NSMutableDictionary *_enqueuedAlbumAssetsOrderValueUpdates; } @property BOOL inWriteStashedLocationMode; @property (copy, nonatomic) id /* block */ generateContextBlock; @property (readonly, nonatomic) BOOL hasStashedLocationValues; @property (readonly, nonatomic) BOOL conflictDetected; + (id)new; + (long long)compareOrderKeyObject:(id)a0 withObject:(id)a1; - (void)_migration_updateOrderKeysForAssetsInParentAlbum:(id)a0 childToOrderKeyMap:(id)a1; - (id)init; - (BOOL)writeStashedLocationValuesInContext:(id)a0 error:(id *)a1; - (id)migration_sortedOrderKeysForAssetsInAlbum:(id)a0 usingMap:(id)a1; - (void)_updateOrderOfChildrenInParent:(id)a0 usingTransientOrders:(id)a1; - (void)migration_updateLegacyChildCollectionOrderKeysInFolder:(id)a0; - (void)getConflictResolutionOrderValuesForRelationship:(id)a0 onObjectWithID:(id)a1 atIndex:(unsigned long long)a2 intoLower:(long long *)a3 higher:(long long *)a4 inContext:(id)a5; - (void)updateKeyAssetsForAlbums:(id)a0 inLibrary:(id)a1 completionHandler:(id /* block */)a2; - (id)_locked_enqueuedAlbumAssetsOrderValueUpdates; - (id)_locked_enqueuedFolderAlbumsOrderValueUpdates; - (void)_stashLocationValue:(long long)a0 forOrderedObjectWithID:(id)a1 inSourceObjectID:(id)a2 relationship:(id)a3 atIndex:(unsigned long long)a4 usingStashDictionary:(id)a5 usingSPISafeContext:(id)a6; - (id)albumsAndOrderValuesForAsset:(id)a0 inManagedObjectContext:(id)a1; - (id)initWithGenerateContextBlock:(id /* block */)a0; - (id)_orderingStateForRelationship:(id)a0 onObjectWithID:(id)a1 usingSPISafeContext:(id)a2; - (id)_locked_locationsCache; - (void)migration_updateLegacyOrderValuesForAssetsInAlbums:(id)a0 managedObjectContext:(id)a1; - (void)stashFolderAlbumsLocationValue:(long long)a0 forAlbumWithID:(id)a1 inFolderWithID:(id)a2 atIndex:(unsigned long long)a3; - (void).cxx_destruct; - (id)parentFolderOrderValueForAlbum:(id)a0 inManagedObjectContext:(id)a1; - (unsigned long long)findIndexForAlbumWithID:(id)a0 newOrderValue:(long long)a1 inFolderWithID:(id)a2 hasOrderValueConflictWithAlbumID:(id *)a3 inContext:(id)a4; - (id)objectIDsAndOrderValuesForRelationship:(id)a0 onObjectWithID:(id)a1 invalidateCache:(BOOL)a2 inContext:(id)a3; - (void)updateAlbumAssetsUsingTransientOrdersByAlbumOID:(id)a0 inLibrary:(id)a1; - (void)migration_ensureValidOrderKey:(id)a0 usingOrderValuePropertyKey:(id)a1; - (void)migration_fixupOrderKeys:(id)a0 usingOrderValuePropertyKey:(id)a1 enforceSingletonAlbumReservedKeySpace:(BOOL)a2; - (void)_setConflictDetected:(BOOL)a0; - (unsigned long long)findIndexForAssetWithID:(id)a0 newOrderValue:(long long)a1 inAlbumWithID:(id)a2 hasOrderValueConflictWithAssetID:(id *)a3 inContext:(id)a4; - (void)_getAndResetEnqueuedOrderValueUpdatesForFolders:(id *)a0 albums:(id *)a1 conflictDetected:(BOOL *)a2; - (id)_orderingStateForRelationship:(id)a0 onObjectWithID:(id)a1 invalidateCache:(BOOL)a2 usingSPISafeContext:(id)a3; - (void)stashAlbumAssetsLocationValue:(long long)a0 forAssetWithID:(id)a1 inAlbumWithID:(id)a2 atIndex:(unsigned long long)a3; - (void)_migration_updateOrderValuesForAssetsInAlbum:(id)a0 managedObjectContext:(id)a1; @end