@class NSDictionary, PXPhotosHeaderCustomizationModel, PXPhotosLayoutSpecManager, PXGItemPlacement, UIView, NSString, PXGSingleViewLayout, NSDateIntervalFormatter, PXGLayout, PXNumberAnimator, PXPhotosSectionedLayout, PXPhotosLayoutState, PXPhotosViewModel; @protocol PXPhotosSectionBodyLayoutProvider, PXPhotosLayoutDelegate, PXPhotosLayoutAnimationProvider, PXPhotosSectionHeaderLayoutProvider, PXPhotosSectionedLayoutHeader; @interface PXPhotosLayout : PXGStackLayout <PXChangeObserver, PXPhotosSectionHeaderLayoutProviderInvalidationDelegate, PXGStringSource, PXGNamedImageSource, PXScrollablePageSource, PXGSolidColorSource, PXGItemPlacementController> { struct { unsigned long long needsUpdate; unsigned long long updated; BOOL isPerformingUpdate; BOOL willPerformUpdate; } _updateFlags; struct { unsigned long long needsUpdate; unsigned long long updated; BOOL isPerformingUpdate; BOOL willPerformUpdate; } _postUpdateFlags; BOOL _isUpdatingSublayouts; unsigned short _headerTitleVersion; unsigned short _titleBackgroundGradientResizableCapInsetsIndex; PXNumberAnimator *_alternateAppearanceMixAnimator; BOOL _managesHeaderSprites; BOOL _presentedVisibility; PXPhotosSectionedLayout *_sectionedLayout; BOOL _footerHasAppearedInitially; PXNumberAnimator *_headerFooterAlphaAnimator; PXGLayout<PXPhotosSectionedLayoutHeader> *_topHeaderLayout; PXGSingleViewLayout *_headerLayout; PXGSingleViewLayout *_footerLayout; NSString *_dynamicDateInterval; NSString *_dynamicLocationName; struct { BOOL createTopHeaderLayoutForDataSource; BOOL topHeaderLayoutDidChangeDataSource; BOOL configureTopHeaderLayout; } _headerProviderRespondsTo; } @property (readonly, nonatomic) id<PXPhotosLayoutAnimationProvider> animationProvider; @property (retain, nonatomic) PXPhotosLayoutState *presentedLayoutState; @property (copy, nonatomic) NSString *headerTitle; @property (copy, nonatomic) NSString *headerSubtitle; @property (copy, nonatomic) NSDictionary *headerTitleOverContentAttributes; @property (copy, nonatomic) NSDictionary *headerTitleOverBackgroundAttributes; @property (copy, nonatomic) NSDictionary *headerSubtitleOverBackgroundAttributes; @property (copy, nonatomic) NSDictionary *headerSubtitleOverContentAttributes; @property (readonly, nonatomic) long long headerTitleDrawingOptions; @property (nonatomic) struct CGPoint { double x; double y; } headerTitleOrigin; @property (nonatomic) struct CGSize { double width; double height; } headerTitleSize; @property (nonatomic) double headerTitleBaselineToBottom; @property (nonatomic) double titleBackgroundSpriteHeight; @property (nonatomic) double titleBackgroundGradientAdditionalCoverage; @property (retain, nonatomic) PXGItemPlacement *placementOverride; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } originalPlacementRect; @property (readonly, nonatomic) NSDateIntervalFormatter *dateIntervalFormatter; @property (readonly, nonatomic) PXPhotosHeaderCustomizationModel *headerCustomizationModel; @property (readonly, nonatomic) PXPhotosViewModel *viewModel; @property (readonly, nonatomic) PXPhotosLayoutSpecManager *specManager; @property (weak, nonatomic) id<PXPhotosLayoutDelegate> delegate; @property (retain, nonatomic) UIView *headerView; @property (retain, nonatomic) UIView *footerView; @property (retain, nonatomic) id<PXPhotosSectionHeaderLayoutProvider> sectionHeaderProvider; @property (retain, nonatomic) id<PXPhotosSectionBodyLayoutProvider> sectionBodyProvider; @property (readonly, nonatomic) struct PXFloatRange { double x0; double x1; } topCollapsibleArea; @property (readonly, nonatomic) struct PXFloatRange { double x0; double x1; } bottomCollapsibleArea; @property (nonatomic) double statusBarHeight; @property (nonatomic) BOOL wantsHeaderInSafeArea; @property (nonatomic) BOOL alignsHeaderTitleWithLayoutMargins; @property (nonatomic) long long pendingHideAnimationType; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)didUpdate; - (id /* block */)locationNamesFutureForContentInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (BOOL)appliesAlphaToSublayouts; - (void)enumerateScrollablePagesWithOptions:(unsigned long long)a0 usingBlock:(id /* block */)a1; - (id)itemPlacementControllerForItemReference:(id)a0; - (id /* block */)dateIntervalFutureForContentInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 type:(unsigned long long)a1; - (id)presentedItemsGeometryForSection:(unsigned long long)a0 inDataSource:(id)a1; - (void)_updateHeaderOrigin; - (id)presentedDataSource; - (BOOL)canHandleVisibleRectRejection; - (void)_updateLocalSprites; - (void)_updateSectionedLayoutPlacementOverrides; - (Class)viewClassForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (void)_updateHeaderMeasurements; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (struct CGSize { double x0; double x1; })_headerTitleReferenceSize; - (void)_invalidateHeaderAttributes; - (struct CGPoint { double x0; double x1; })visibleOriginForScrollingToNeighboringSectionInDirection:(unsigned long long)a0; - (void)_invalidateFooter; - (void)willUpdate; - (id)createCurrentLayoutState; - (id)colorAtIndex:(unsigned int)a0 inLayout:(id)a1; - (id)axSpriteIndexes; - (void)_invalidateSectionedLayout; - (void)update; - (unsigned long long)fullyVisibleEdgesWithDefaultTolerance; - (void)photosSectionHeaderLayoutInvalidateConfiguredLayouts:(id)a0; - (BOOL)_shouldShowSectionedLayout; - (id)createAnchorForScrollingToInitialPosition; - (void)visibleRectDidChange; - (void)_invalidateLocalSpritesCount; - (void)_updateHeaderTitle; - (void)enumerateItemsGeometriesInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 dataSource:(id)a1 usingBlock:(id /* block */)a2; - (void)_invalidateHeaderOrigin; - (void)_informTopHeaderLayoutAboutDataSourceChange; - (void)_invalidateTopHeaderLayout; - (void)_updateHeaderAnimated:(BOOL)a0; - (void)_performPreUpdateInvalidationDeferredIfNeeded:(id /* block */)a0; - (void)displayScaleDidChange; - (struct CGPoint { double x0; double x1; })adjustedTargetVisibleOriginForProposedTargetVisibleOrigin:(struct CGPoint { double x0; double x1; })a0 scrollingVelocity:(struct CGPoint { double x0; double x1; })a1 decelerationRate:(inout long long *)a2; - (id)topmostSectionHeaderSnapshotInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_updateHeaderAttributes; - (id)attributedStringForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (id)stringAtIndex:(unsigned int)a0 inLayout:(id)a1; - (void)_updateHeaderFooterAlphaAnimator; - (void)_invalidateDynamicHeaderTitle; - (void)setPlacementOverride:(id)a0 forItemReference:(id)a1; - (void)_invalidateHeaderMeasurementsForTitleChange; - (id)placementInContext:(id)a0 forItemReference:(id)a1; - (double)_headerTitleLineHeight; - (void)hideSpritesForObjectReferences:(id)a0; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })additionalSafeAreaInsetsForSublayout:(id)a0; - (id)hitTestResultForSpriteIndex:(unsigned int)a0; - (void)_invalidateHeaderTitle; - (void)_invalidateLocalSprites; - (void)invalidateFooterHeight; - (void)_invalidateContentBelowTitle; - (double)_headerSubtitleLineHeight; - (void).cxx_destruct; - (id)regionOfInterestForAssetReference:(id)a0; - (long long)stringDrawingOptionsForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (id)viewUserDataForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (struct CGSize { double x0; double x1; })_headerTitleSize; - (long long)sublayoutIndexForObjectReference:(id)a0 options:(unsigned long long)a1 updatedObjectReference:(out id *)a2; - (long long)verticalAlignmentForStringAtIndex:(unsigned int)a0 inLayout:(id)a1; - (void)safeAreaInsetsDidChange; - (void)_updateFooter; - (void)adjustCopiedSprites:(struct { unsigned int x0; struct *x1; struct *x2; struct *x3; struct *x4; })a0; - (id)createAnchorForVisibleAreaIgnoringEdges:(unsigned long long)a0; - (id)initWithViewModel:(id)a0 specManager:(id)a1; - (void)_updateLocalSpritesAlpha; - (id)imageConfigurationAtIndex:(unsigned int)a0 inLayout:(id)a1; - (void)_invalidateSectionedLayoutPlacementOverrides; - (void)referenceSizeDidChange; - (void)_updateContentBelowTitle; - (id)stringAttributesAtIndex:(unsigned int)a0 inLayout:(id)a1; - (void)_invalidateLocalSpritesAlpha; - (void)_updateTopHeaderLayout; - (void)setHeaderView:(id)a0 animated:(BOOL)a1; - (void)_updatePresentedLayoutState; - (void)_invalidateHeaderAnimated:(BOOL)a0; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })paddingForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (void)_updateSectionedLayout; - (void)_invalidateHeaderMeasurements; - (id)createDefaultAnimationForCurrentContext; - (void)_updateLocalSpritesCount; @end