@class PXUIScrollViewController, PXPhotoKitAssetCollectionActionManager, NSObject, PXPhotosDetailsActionsSpecManager, PXAssetActionManager, PXReusableObjectPool, PHFetchResult, PXTilingController, PXActionRowTile, NSString, PXActionPerformer, PXPhotosDetailsContext, NSMutableSet, PXWidgetSpec, NSArray, PXOneUpPresentation, PXSectionedSelectionManager, PXPhotosDataSource, PXPhotosDetailsViewModel; @protocol PXTileAnimator, PXActionPerformerDelegate, PXMemoryAssetsActionFactory, PXWidgetUnlockDelegate, PXAnonymousView, PXWidgetEditingDelegate, PXWidgetDelegate, PXWidgetInteractionDelegate; @interface PXPhotosDetailsActionsUIWidget : NSObject <PXPhotosDataSourceChangeObserver, PXTileSource, PXTilingControllerTransitionDelegate, PXReusableObjectPoolDelegate, PXActionRowTileDelegate, PXActionPerformerDelegate, PXChangeObserver, PXPhotoLibraryUIChangeObserver, UIPopoverPresentationControllerDelegate, PXUIWidget> { BOOL _isPerformingChanges; BOOL _isPerformingUpdates; BOOL _ensureTransition; struct { BOOL peopleFetchResult; BOOL actionManager; BOOL allowedActionTypes; BOOL performableActionTypes; BOOL rowHeight; BOOL layout; } _needsUpdateFlags; } @property (readonly, nonatomic) PXTilingController *_tilingController; @property (readonly, nonatomic) id<PXTileAnimator> _tileAnimator; @property (readonly, nonatomic) PXUIScrollViewController *_scrollViewController; @property (readonly, nonatomic) NSMutableSet *_tilesInUse; @property (readonly, nonatomic) PXReusableObjectPool *_tileReusePool; @property (retain, nonatomic, setter=_setPhotosDataSource:) PXPhotosDataSource *_photosDataSource; @property (retain, nonatomic, setter=_setPeopleFetchResult:) PHFetchResult *_peopleFetchResult; @property (retain, nonatomic, setter=_setAssetCollectionActionManager:) PXPhotoKitAssetCollectionActionManager *_assetCollectionActionManager; @property (retain, nonatomic, setter=_setAllowedActionTypes:) NSArray *_allowedActionTypes; @property (retain, nonatomic, setter=_setPerformableActionTypes:) NSArray *_performableActionTypes; @property (retain, nonatomic, setter=_setViewModel:) PXPhotosDetailsViewModel *_viewModel; @property (readonly, nonatomic) PXPhotosDetailsActionsSpecManager *_specManager; @property (readonly, nonatomic) PXActionRowTile *_measuringActionRowTile; @property (nonatomic, setter=_setRowHeight:) double _rowHeight; @property (retain, nonatomic, setter=_setActivePerformer:) PXActionPerformer *_activePerformer; @property (nonatomic) struct CGPoint { double x; double y; } lastNormalizedTapPosition; @property (nonatomic) BOOL allowRevealInMomentAction; @property (nonatomic) BOOL allowCreateMemoryAction; @property (nonatomic) BOOL allowInternalFileRadarAction; @property (weak, nonatomic) id<PXActionPerformerDelegate> actionPerformerDelegate; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) id<PXMemoryAssetsActionFactory> memoryAssetsActionFactory; @property (retain, nonatomic) PXOneUpPresentation *oneUpPresentation; @property (readonly, nonatomic) BOOL cursorInteractionEnabled; @property (weak, nonatomic) id<PXWidgetDelegate> widgetDelegate; @property (weak, nonatomic) id<PXWidgetInteractionDelegate> widgetInteractionDelegate; @property (weak, nonatomic) id<PXWidgetUnlockDelegate> widgetUnlockDelegate; @property (weak, nonatomic) id<PXWidgetEditingDelegate> widgetEditingDelegate; @property (retain, nonatomic) PXPhotosDetailsContext *context; @property (retain, nonatomic) PXWidgetSpec *spec; @property (readonly, nonatomic) BOOL hasContentForCurrentInput; @property (readonly, nonatomic) double extraSpaceNeededAtContentBottom; @property (readonly, nonatomic) BOOL wantsNoSpaceAfterContentBottom; @property (readonly, nonatomic) BOOL hasLoadedContentData; @property (readonly, nonatomic) NSObject<PXAnonymousView> *contentView; @property (readonly, nonatomic) long long contentViewAnchoringType; @property (readonly, nonatomic) PXTilingController *contentTilingController; @property (readonly, nonatomic) long long contentLayoutStyle; @property (readonly, nonatomic) NSString *localizedTitle; @property (readonly, nonatomic) NSString *localizedSubtitle; @property (readonly, nonatomic) NSString *localizedCaption; @property (readonly, nonatomic) NSString *localizedDisclosureTitle; @property (readonly, nonatomic) BOOL allowUserInteractionWithSubtitle; @property (nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled; @property (readonly, nonatomic) BOOL supportsSelection; @property (nonatomic, getter=isSelecting) BOOL selecting; @property (readonly, nonatomic) BOOL supportsFaceMode; @property (nonatomic, getter=isFaceModeEnabled) BOOL faceModeEnabled; @property (readonly, nonatomic) PXSectionedSelectionManager *selectionManager; @property (readonly, nonatomic) PXAssetActionManager *assetActionManager; @property (readonly, nonatomic) BOOL wantsFocus; @property (readonly, nonatomic) NSString *snappableWidgetIdentifier; @property (readonly, nonatomic) BOOL isInEditMode; @property (nonatomic) struct CGSize { double x0; double x1; } maxVisibleSizeInEditMode; - (void)_handleContentSizeCategoryDidChange:(id)a0; - (id)init; - (BOOL)actionPerformer:(id)a0 presentViewController:(id)a1; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (void)_performChanges:(id /* block */)a0; - (BOOL)_needsUpdate; - (void)photosDataSource:(id)a0 didChange:(id)a1; - (id)undoManagerForActionPerformer:(id)a0; - (void)_updateLayoutIfNeeded; - (void)_setNeedsUpdate; - (void)_updateIfNeeded; - (void)actionPerformer:(id)a0 didChangeState:(unsigned long long)a1; - (void)prepareForPopoverPresentation:(id)a0; - (void).cxx_destruct; - (void)_invalidateLayout; - (id)_createNewLayout; - (id)_extendedTraitCollection; - (void)_invalidateActionManager; - (void)_invalidateAllowedActionTypes; - (void)_invalidateLayoutEnsureTransition; - (void)_invalidatePeopleFetchResult; - (void)_invalidatePerformableActionTypes; - (void)_invalidateRowHeight; - (void)_loadTilingController; - (void)_updateActionManagerIfNeeded; - (void)_updateAllowedActionTypesIfNeeded; - (void)_updatePeopleFetchResultIfNeeded; - (void)_updatePerformableActionTypesIfNeeded; - (void)_updateRowHeightIfNeeded; - (void)actionRowTileSelected:(id)a0 tapPositionInTile:(struct CGPoint { double x0; double x1; })a1; - (void)checkInTile:(void *)a0 withIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a1; - (void *)checkOutTileForIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a0 layout:(id)a1; - (void)configureActionButtonTile:(id)a0 withIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a1; - (void)reusableObjectPool:(id)a0 didCreateReusableObject:(id)a1; - (void)reusableObjectPool:(id)a0 didEvictReusableObject:(id)a1; - (id)tilingController:(id)a0 tileIdentifierConverterForChange:(id)a1; @end