@class PXPhotosDetailsLoadCoordinationToken, PXBasicUIViewTileAnimator, PXReusableObjectPool, PXPhotosDetailsHeaderPreviewTile, PXUIPlayButtonTile, NSMutableSet, NSString, PXPhotosDetailsContext, PXUITapGestureRecognizer, PXPhotoKitUIMediaProvider, PXOneUpPresentation, PHFetchResult, PXPhotosDataSource, NSObject, PHAssetCollection, PXImageRequester, PXTilingController, PXMoviePresenter, PXAssetActionManager, PXSectionedSelectionManager, PXTitleSubtitleUILabelTile, PXWidgetSpec, PXPhotosDetailsHeaderSpec, PXPhotosDetailsHeaderSpecManager; @protocol PXDisplayAsset, PXWidgetDelegate, PXWidgetEditingDelegate, OS_dispatch_queue, PXWidgetInteractionDelegate, PXWidgetUnlockDelegate, PXAnonymousView; @interface PXPhotosDetailsHeaderTileWidget : NSObject { NSObject *_internalWorkQueue; PXPhotosDetailsHeaderSpecManager *_specManager; PXTilingController *_tilingController; PXPhotoKitUIMediaProvider *_mediaProvider; PXReusableObjectPool *_tilePool; NSMutableSet *_tilesInUse; PXBasicUIViewTileAnimator *_tileAnimator; PXUITapGestureRecognizer *_tapGestureRecognizer; PXUITapGestureRecognizer *_pressGestureRecognizer; PXImageRequester *_primaryAssetImageRequester; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _keyAssetCropRect; struct { BOOL keyAssets; BOOL assetCollection; BOOL curatedAssetCollection; } _needsUpdateFlags; } @property (retain, nonatomic, setter=_setPhotosDataSource:) PXPhotosDataSource *_photosDataSource; @property (retain, nonatomic, setter=_setHeaderSpec:) PXPhotosDetailsHeaderSpec *_headerSpec; @property (retain, nonatomic) PXPhotosDetailsHeaderPreviewTile *previewTile; @property (retain, nonatomic, setter=_setPlayButtonTile:) PXUIPlayButtonTile *_playButtonTile; @property (retain, nonatomic, setter=_setTitleTile:) PXTitleSubtitleUILabelTile *_titleTile; @property (nonatomic, getter=_isBasicContentLoaded, setter=_setBasicContentLoaded:) BOOL _basicContentLoaded; @property (nonatomic) BOOL canLoadContentData; @property (retain, nonatomic, setter=_setLoadCoordinationToken:) PXPhotosDetailsLoadCoordinationToken *_loadCoordinationToken; @property (retain, nonatomic, setter=_setKeyAssetsFetchResult:) PHFetchResult *_keyAssetsFetchResult; @property (retain, nonatomic, setter=_setAssetCollection:) PHAssetCollection *_assetCollection; @property (retain, nonatomic, setter=_setCuratedAssetCollection:) PHAssetCollection *_curatedAssetCollection; @property (nonatomic, setter=_setHasLoadedContentData:) BOOL hasLoadedContentData; @property (nonatomic, setter=_setContentSize:) struct CGSize { double width; double height; } _contentSize; @property (retain, nonatomic) PXMoviePresenter *moviePresenter; @property (readonly, nonatomic) id presentedKeyAsset; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (retain, nonatomic) PXOneUpPresentation *oneUpPresentation; @property (readonly, nonatomic) BOOL cursorInteractionEnabled; @property (weak, nonatomic) id widgetDelegate; @property (weak, nonatomic) id widgetInteractionDelegate; @property (weak, nonatomic) id widgetUnlockDelegate; @property (weak, nonatomic) id 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) NSObject *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; + (BOOL)canShowMovieHeaderForDataSource:(id)a0; + (double)preferredHeaderContentHeightForWidth:(double)a0 screen:(id)a1; - (void)_updateLayoutStyle; - (id)_title; - (id)extendedTraitCollection; - (id)_subtitle; - (id)init; - (void)setContentSize:(struct CGSize { double x0; double x1; })a0; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (BOOL)_needsUpdate; - (void)photosDataSource:(id)a0 didChange:(id)a1; - (BOOL)gestureRecognizerShouldBegin:(id)a0; - (void).cxx_destruct; - (id)px_diagnosticsItemProvidersForPoint:(struct CGPoint { double x0; double x1; })a0 inCoordinateSpace:(id)a1; - (void)_handleTapGesture:(id)a0; - (id)_titleFontName; - (id)keyAsset; - (BOOL)_showPlaceholder; - (struct CGSize { double x0; double x1; })_playButtonSize; - (id)viewToBeFocused; - (void)loadContentData; - (void)playMovieWithCompletionHandler:(id /* block */)a0; - (double)preferredContentHeightForWidth:(double)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_contentRectInCoordinateSpace:(id)a0 withIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a1; - (id)_contentRegionOfInterestForTileWithIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a0; - (void)_filterOutVideosFromAssetCollection:(id)a0 filteredAssetCollection:(id *)a1 assets:(id *)a2; - (void)_headerSpecDidChange; - (void)_invalidateAssetCollection; - (void)_invalidateCuratedAssetCollection; - (void)_invalidateKeyAssets; - (BOOL)_isPointWithinCurrentLayoutBounds:(struct CGPoint { double x0; double x1; })a0; - (void)_loadBasicContent; - (id)_playButtonLocalizedTitle; - (id)_scrollViewController; - (BOOL)_startMovie; - (void *)_tileForIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a0 layout:(id)a1; - (void)_updateAssetCollectionIfNeeded; - (void)_updateBasicContent; - (void)_updateCuratedAssetCollectionIfNeeded; - (void)_updateKeyAssetCropRect; - (void)_updateKeyAssetsIfNeeded; - (void)_updatePreview; - (void)_updateTitleTile; - (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; - (BOOL)containsPoint:(struct CGPoint { double x0; double x1; })a0 forCoordinateSpace:(id)a1; - (id)createHeaderSnapshotViewForMemoryCreationAnimation; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })photosDetailsHeaderTileLayout:(id)a0 contentsRectForAspectRatio:(double)a1; - (id)photosDetailsHeaderTileLayoutFontName:(id)a0; - (struct CGSize { double x0; double x1; })photosDetailsHeaderTileLayoutPlayButtonSize:(id)a0; - (void)playButtonTileWasTapped:(id)a0; - (id)regionOfInterestForContext:(id)a0; - (id)tilingController:(id)a0 tileIdentifierConverterForChange:(id)a1; - (id)tilingController:(id)a0 transitionAnimationCoordinatorForChange:(id)a1; @end