@class NSTimer, PXStoryChromeButtonConfiguration, PXStoryRelatedLayoutGenerator, NSString, PXNumberAnimator, PXStoryRelatedOverlayItemDecorationSource, PXStoryScrollContentLayout, PXGScrollLayout, PXStoryViewModel; @interface PXStoryRelatedOverlayLayout : PXGAbsoluteCompositeLayout <PXGStringSource, PXGNamedImageSource, PXGSublayoutProvider, PXChangeObserver, PXStoryScrollContentLayoutDelegate, PXGScrollLayoutDelegate> { struct { unsigned long long needsUpdate; unsigned long long updated; BOOL isPerformingUpdate; BOOL willPerformUpdate; } _updateFlags; BOOL _shouldIgnoreContentScrollOffsetChanges; unsigned int _titleSpriteIndex; unsigned short _titleVersion; unsigned int _countDownSpriteIndex; unsigned int _countDownDecorationSpriteIndex; unsigned int _navigationButtonSpriteIndex; unsigned int _navigationHitTestVisabilitySpriteIndex; struct _NSRange { unsigned long long location; unsigned long long length; } _relatedSublayoutIndexRange; long long _scrollSublayoutIndex; long long _capacity; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *_relatedDefaultFrames; } @property (readonly, nonatomic) PXStoryRelatedLayoutGenerator *layoutGenerator; @property (readonly, nonatomic) PXStoryScrollContentLayout *scrollContentLayout; @property (readonly, nonatomic) PXGScrollLayout *scrollLayout; @property (readonly, nonatomic) PXNumberAnimator *countDownAlphaAnimator; @property (nonatomic) BOOL isRelatedOverlayScrolledIntoView; @property (nonatomic) BOOL shouldCountDown; @property (retain, nonatomic) NSTimer *countDownTimer; @property (nonatomic) long long countDownValue; @property (nonatomic) long long selectedIndex; @property (readonly, nonatomic) PXNumberAnimator *navigationButtonAlphaAnimator; @property (nonatomic) BOOL wantsNavigationButton; @property (nonatomic) long long navigationButtonDirection; @property (copy, nonatomic) PXStoryChromeButtonConfiguration *navigationButtonConfiguration; @property (nonatomic) long long navigationButtonVersion; @property (nonatomic) BOOL wasAnimatingScrollOffsetForNavigation; @property (readonly, nonatomic) PXNumberAnimator *navigationButtonScrollAnimator; @property (nonatomic) double navigationButtonScrollAnimatorTarget; @property (readonly, nonatomic) PXStoryRelatedOverlayItemDecorationSource *decorationSource; @property (readonly, nonatomic) PXStoryViewModel *viewModel; @property (readonly, nonatomic) struct _PXGSpriteIndexRange { unsigned int location; unsigned int length; } relatedSelectionSpriteIndexRange; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (id)layout:(id)a0 navigationObjectReferenceForSublayoutAtIndex:(long long)a1; - (struct CGSize { double x0; double x1; })layout:(id)a0 estimatedContentSizeForSublayoutAtIndex:(long long)a1 referenceSize:(struct CGSize { double x0; double x1; })a2; - (id)preferredFocusLayouts; - (BOOL)allowsDanglingUpdatesAssertions; - (void)alphaDidChange; - (id)layout:(id)a0 createSublayoutAtIndex:(long long)a1; - (id)init; - (id)initWithViewModel:(id)a0; - (Class)viewClassForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (void)dealloc; - (id)axSpriteIndexes; - (void)update; - (void)displayScaleDidChange; - (void)_invalidateContent; - (unsigned int)axSpriteIndexClosestToSpriteIndex:(unsigned int)a0 inDirection:(unsigned long long)a1; - (void)referenceDepthDidChange; - (BOOL)axGroup:(id)a0 didRequestToPerformAction:(long long)a1 userInfo:(id)a2; - (id)attributedStringForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (id)stringAtIndex:(unsigned int)a0 inLayout:(id)a1; - (id)axLocalizedLabel; - (id)hitTestResultForSpriteIndex:(unsigned int)a0; - (void)_updateContent; - (void).cxx_destruct; - (id)axVisibleSpriteIndexes; - (id)viewUserDataForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (long long)verticalAlignmentForStringAtIndex:(unsigned int)a0 inLayout:(id)a1; - (id)imageConfigurationAtIndex:(unsigned int)a0 inLayout:(id)a1; - (void)referenceSizeDidChange; - (id)stringAttributesAtIndex:(unsigned int)a0 inLayout:(id)a1; - (void)_updateNavigationButton; - (void)_createRelatedAnimationIfNeeded; - (long long)_relatedIndexForSublayoutIndex:(long long)a0; - (long long)_sublayoutIndexForRelatedIndex:(long long)a0; - (void)scrollLayoutWillBeginScrolling:(id)a0; - (void)_autoplayUpNext; - (void)_arrangeSublayoutAtIndex:(long long)a0 frame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 zIndex:(long long *)a2; - (void)_considerChangingToSelectedRelatedMemory; - (id)_firstRelatedSublayout; - (void)_handleCountDownTimer:(id)a0; - (void)_handleNavigationButton:(id)a0; - (void)_invalidateAXGroupRole; - (void)_invalidateNavigationButton; - (void)_invalidateRelatedSpritesAndSublayouts; - (void)_invalidateScrollSpritesAndSublayouts; - (void)_invalidateShouldCountDown; - (void)_invalidateSublayoutPositions; - (void)_invalidateTitleContent; - (BOOL)_needsRTLFlip; - (void)_selectRelatedMemoryAtIndex:(long long)a0; - (void)_setFirstRelatedLayoutCountdownValue:(long long)a0; - (long long)_sublayoutIndexForFirstRelated; - (void)_updateAXGroupRole; - (void)_updateRelatedSpritesAndSublayouts; - (void)_updateScrollSpritesAndSublayouts; - (void)_updateShouldCountDown; - (void)_updateSublayoutPositions; - (long long)relatedCardOverlayStartIndex; - (void)scrollContentLayoutScrollOffsetDidChange:(id)a0; - (void)scrollLayoutWillEndScrolling:(id)a0 withVelocity:(struct CGPoint { double x0; double x1; })a1 targetContentOffset:(inout struct CGPoint { double x0; double x1; } *)a2 currentContentOffset:(struct CGPoint { double x0; double x1; })a3; - (void)showOrHideFullRelated:(BOOL)a0; @end