@class PXGDisplayAssetVideoPresentationController, PXUIMediaProvider, PXAssetReference, PXGDecoratingLayout, NSString, PXMessagesStackActivityIndicatorViewUserData, PXAssetsDataSource, PXLRUMemoryCache, NSSet, UIView, PXPhotosGridAssetDecorationSource, PXAssetsDataSourceManager, PXMessagesStackAdditionalItemsViewUserData, NSShadow, PXGView, PXEventCoalescer, PXMessagesStackPlaybackControlViewModel, UIPanGestureRecognizer, PXMessagesStackPlaybackControlUserData, UITapGestureRecognizer, PXMessagesStackItemsLayout; @protocol PXDisplayAssetFetchResult, PXMessagesStackViewDelegate, PXTapbackStatusManager, UIViewControllerTransitioningDelegate; @interface PXMessagesStackView : UIView { PXGView *_tungstenView; PXMessagesStackItemsLayout *_layout; PXGDecoratingLayout *_decoratingLayout; struct { BOOL didSelectAssetReference; BOOL didChangeCurrentAssetReference; BOOL shouldAutoplayAsset; BOOL didSelectAdditionalItems; } _delegateRespondsTo; struct _NSRange { unsigned long long location; unsigned long long length; } _cachedClampedItemRange; id _cachedClampedFetchResult; NSShadow *_centerItemShadow; PXEventCoalescer *_settledEventCoalescer; PXLRUMemoryCache *_videoPresentationControllersByItem; PXMessagesStackPlaybackControlUserData *_cachedPlaybackControlUserData; PXMessagesStackPlaybackControlViewModel *_playbackControlViewModel; PXPhotosGridAssetDecorationSource *_assetDecorationSource; long long _indexToRestore; struct PXSimpleIndexPath { long long dataSourceIdentifier; long long section; long long item; long long subitem; } _lastKnownPrimaryIndex; BOOL _isProgramaticallyScrolling; PXMessagesStackAdditionalItemsViewUserData *_cachedAdditionalItemsUserData; PXMessagesStackActivityIndicatorViewUserData *_activityIndicatorViewUserData; } @property (retain, nonatomic) PXAssetsDataSource *currentDataSource; @property (nonatomic, getter=isSettled) BOOL settled; @property (retain, nonatomic) PXGDisplayAssetVideoPresentationController *currentVideoPresentationController; @property (retain, nonatomic) UIView *transitionPlaceholderView; @property (nonatomic) BOOL debugColorModeEnabled; @property (retain, nonatomic) PXAssetsDataSourceManager *dataSourceManager; @property (retain, nonatomic) PXUIMediaProvider *mediaProvider; @property (retain, nonatomic) id tapbackStatusManager; @property (weak, nonatomic) id delegate; @property (readonly, nonatomic) unsigned long long currentIndex; @property (readonly, nonatomic) PXAssetReference *currentAssetReference; @property (copy, nonatomic) NSSet *hiddenAssetReferences; @property (nonatomic) BOOL allowPlayableContentLoading; @property (nonatomic) double verticalContentInsets; @property (readonly, nonatomic) double horizontalContentMargin; @property (nonatomic) double leftEdgeHorizontalContentMarginAdjustment; @property (nonatomic) double rightEdgeHorizontalContentMarginAdjustment; @property (readonly, nonatomic) UITapGestureRecognizer *tapGestureRecognizer; @property (readonly, nonatomic) UIPanGestureRecognizer *panGestureRecognizer; @property (readonly, nonatomic) id gridTransitioningDelegate; @property (nonatomic) BOOL providesLoadingAppearanceAndBehavior; @property (nonatomic) struct { unsigned long long count; long long type; } additionalItemsCount; @property (nonatomic) BOOL selectionOverlayEnabled; @property (nonatomic) BOOL useAspectTiles; @property (nonatomic) long long horizontalAlignment; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (id)animationControllerForPresentedController:(id)a0 presentingController:(id)a1 sourceController:(id)a2; - (id)interactionControllerForDismissal:(id)a0; - (void)_updateDataSource; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })itemsLayout:(id)a0 bestCropRectForItem:(long long)a1 withAspectRatio:(double)a2; - (id)animationControllerForDismissedController:(id)a0; - (Class)viewClassForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (unsigned long long)supportedDisplayAssetPresentationStylesInLayout:(id)a0; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (long long)itemsLayout:(id)a0 itemForObjectReference:(id)a1 options:(unsigned long long)a2; - (void)_handleTap:(id)a0; - (id)colorAtIndex:(unsigned int)a0 inLayout:(id)a1; - (BOOL)wantsInteractiveFavoriteBadgesInLayout:(id)a0; - (void)scrollViewControllerWillBeginScrolling:(id)a0; - (BOOL)wantsAssetBadgeDecorationsInLayout:(id)a0; - (unsigned long long)desiredPlaceholderStyleInLayout:(id)a0; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (long long)selectionDecorationStyleInLayout:(id)a0; - (BOOL)gestureRecognizerShouldBegin:(id)a0; - (struct PXAssetBadgeInfo { unsigned long long x0; double x1; long long x2; long long x3; })assetBadgeInfoForAsset:(id)a0 atSpriteIndex:(unsigned int)a1 inLayout:(id)a2; - (struct { double x0; double x1; struct CGPoint { double x0; double x1; } x2; })tapbackConfigurationForProposedConfiguration:(struct { double x0; double x1; struct CGPoint { double x0; double x1; } x2; })a0 spriteIndex:(unsigned int)a1 inLayout:(id)a2; - (void)prepareForDisplay; - (BOOL)wantsTapbackDecorationInLayout:(id)a0; - (BOOL)hasTapbacksForSpriteIndex:(unsigned int)a0 inLayout:(id)a1; - (unsigned long long)selectionDecorationAdditionsInLayout:(id)a0; - (void)scrollViewControllerDidEndScrolling:(id)a0; - (double)cornerRadiusForShadowSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (id)selectedSpriteIndexesInLayout:(id)a0; - (void).cxx_destruct; - (id)regionOfInterestForAssetReference:(id)a0; - (id)itemsLayout:(id)a0 objectReferenceForItem:(long long)a1; - (id)viewUserDataForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (id)displayAssetFetchResultForSpritesInRange:(struct _PXGSpriteIndexRange { unsigned int x0; unsigned int x1; })a0 inLayout:(id)a1; - (BOOL)wantsFileSizeBadgesInLayout:(id)a0; - (id)shadowForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1; - (long long)overallSelectionOrderAtSpriteIndex:(unsigned int)a0 inLayout:(id)a1; - (struct { float x0; float x1; float x2; float x3; })overlayInsetsForSpriteIndex:(unsigned int)a0 inLayout:(id)a1; - (void)scrollViewControllerDidLayoutSubviews:(id)a0; - (void)outputEventSignaledForCoalescer:(id)a0; - (double)itemsLayout:(id)a0 aspectRatioForItem:(long long)a1; - (void)layoutSubviews; - (id)initWithCoder:(id)a0; - (struct CGSize { double x0; double x1; })minSpriteSizeForPresentationStyle:(unsigned long long)a0; - (double)horizontalContentMarginForSize:(struct CGSize { double x0; double x1; })a0; - (id)installTransitionSnapshotViewForAssetReference:(id)a0 uncroppedImageFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a1; - (void)removeTransitionSnapshotView; - (BOOL)scrollToAssetReference:(id)a0 animated:(BOOL)a1; - (BOOL)scrollToIndex:(unsigned long long)a0 animated:(BOOL)a1; - (void)setHiddenAssetReferences:(id)a0 animationType:(long long)a1; - (BOOL)_isSpriteReferenceForPrimaryItem:(id)a0; - (id)_presentationControllerForAsset:(id)a0; - (id)_regionOfInterestForAssetReference:(id)a0 forTransitioning:(BOOL)a1; - (BOOL)_shouldAutoplayAsset:(id)a0; - (id)_trackingContainerViewForAssetReference:(id)a0; - (void)_updateCurrentPresentationController; - (Class)_viewClassForSpriteAtIndex:(unsigned int)a0 inDecoratingLayout:(id)a1; - (id)_viewUserDataForSpriteAtIndex:(unsigned int)a0 inDecoratingLayout:(id)a1; - (double)alphaForShadowAtSpriteIndex:(unsigned int)a0 inLayout:(id)a1; - (void)primaryItemDidChangeForStackItemsLayout:(id)a0; - (id)regionOfInterestForTransitioningAssetReference:(id)a0; - (void)scrollViewControllerWillEndScrolling:(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; - (double)solidColorOverlayAlphaForSpriteIndex:(unsigned int)a0 inLayout:(id)a1; - (id)solidColorOverlayForLayout:(id)a0; - (BOOL)stackItemsLayout:(id)a0 itemHasTapback:(long long)a1; - (id)videoPresentationControllerForDisplayAsset:(id)a0 spriteIndex:(unsigned int)a1 inLayout:(id)a2; @end