@class NSArray, PXMessagesStackItemsLayoutHelper; @protocol PXMessagesStackItemsLayoutDelegate, PXMessagesStackItemsLayoutPrimaryItemDelegate; @interface PXMessagesStackItemsLayout : PXGItemsLayout { struct { unsigned long long needsUpdate; unsigned long long updated; BOOL isPerformingUpdate; BOOL willPerformUpdate; } _preItemLoadingFlags; struct { unsigned long long needsUpdate; unsigned long long updated; BOOL isPerformingUpdate; BOOL willPerformUpdate; } _updateFlags; PXMessagesStackItemsLayoutHelper *_layoutHelper; unsigned long long _primaryItemIndex; struct _NSRange { unsigned long long location; unsigned long long length; } _leadingItemsRange; struct _NSRange { unsigned long long location; unsigned long long length; } _trailingItemsRange; struct _NSRange { unsigned long long location; unsigned long long length; } _trailingHiddenItemsRange; long long _firstTrailingHiddenItemWithTapback; long long _secondTrailingHiddenItemWithTapback; double _pageFocus; unsigned long long _archSide; BOOL _signalDelegateForPrimaryItemChange; BOOL _scrollToBeginning; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _desiredVisibleRect; unsigned long long _decorationInfoBySpriteIndexSize; struct { double x0; } *_decorationInfoBySpriteIndex; BOOL _higherPageDirectionTolerance; unsigned short _accessorySpriteMediaVersion; } @property (readonly, nonatomic) long long numberOfPages; @property (weak, nonatomic) id delegate; @property (weak, nonatomic) id primaryItemDelegate; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } desiredLayoutRect; @property (nonatomic) double normalizedPageWidth; @property (nonatomic) unsigned long long stackedItemsCount; @property (nonatomic) double normalizedStackSizeTransform; @property (copy, nonatomic) NSArray *normalizedStackHorizontalOffsets; @property (nonatomic) double normalizedStackVerticalOffset; @property (nonatomic) double normalizedContentInsets; @property (nonatomic) double rotationAngle; @property (nonatomic) unsigned char presentationType; @property (nonatomic) unsigned char mediaKind; @property (nonatomic) unsigned char accessoryPresentationType; @property (nonatomic) unsigned char accessoryMediaKind; @property (nonatomic) BOOL isSettling; @property (readonly, nonatomic) long long primaryItemIndex; @property (readonly, nonatomic) double primaryItemFocus; @property (readonly, nonatomic) double horizontalContentMargin; @property (nonatomic) double leftEdgeInternalHorizontalAlignment; @property (nonatomic) double rightEdgeInternalHorizontalAlignment; + (id)_sharedTemplateLayoutHelper; - (void)didUpdate; - (struct _NSRange { unsigned long long x0; unsigned long long x1; })itemsToLoad; - (id)init; - (void)loadedItemsDidChange; - (void)_updateContentSize; - (void)dealloc; - (void)numberOfAccessoryItemsDidChange; - (unsigned int)spriteIndexForObjectReference:(id)a0 options:(unsigned long long)a1 updatedObjectReference:(out id *)a2; - (void)willUpdate; - (void)setNumberOfItems:(long long)a0 withChangeDetails:(id)a1 changeMediaVersionHandler:(id /* block */)a2; - (void)update; - (void)accessoryItemsDidChange; - (void)visibleRectDidChange; - (void)_updateVisibleRect; - (void)displayScaleDidChange; - (id)itemsBetweenItem:(long long)a0 andItem:(long long)a1; - (id)itemsInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 inLayout:(id)a1; - (long long)itemClosestToItem:(long long)a0 inDirection:(unsigned long long)a1; - (void)userInterfaceDirectionDidChange; - (void)_invalidateContentSize; - (void).cxx_destruct; - (void)contentSizeDidChange; - (void)referenceSizeDidChange; - (id)itemsGeometry; - (long long)scrollableAxis; - (void)_updateSprites; - (double)horizontalContentMarginForSize:(struct CGSize { double x0; double x1; })a0 normalizedVerticalContentInsets:(double)a1; - (void)_clearLayoutProperties; - (void)_getItemsForXOffset:(double)a0 leadingItems:(struct _NSRange { unsigned long long x0; unsigned long long x1; } *)a1 primaryItemIndex:(unsigned long long *)a2 trailingItems:(struct _NSRange { unsigned long long x0; unsigned long long x1; } *)a3 trailingHiddenItems:(struct _NSRange { unsigned long long x0; unsigned long long x1; } *)a4 pageFocus:(double *)a5; - (void)_invalidateLayoutHelper; - (void)_invalidateSprites; - (void)_invalidateVisibleRect; - (void)_signalDelegatePostUpdate; - (void)_syncPropertiesToLayoutHelper:(id)a0; - (void)_updateLayoutHelper; - (void)_updateLayoutProperties; - (double)closestPageOffsetForHorizontalOffset:(double)a0; - (BOOL)getHorizontalOffsetForObjectReference:(id)a0 outOffset:(double *)a1; - (double)overlayAlphaForSpriteIndex:(unsigned int)a0; - (double)pageOffsetGreaterThanOffset:(double)a0; - (double)pageOffsetLessThanOffset:(double)a0; - (void)reloadAccessoryItems; - (void)scrollToBeginning; - (double)selectionOverlayAlphaForSpriteIndex:(unsigned int)a0; - (BOOL)shouldDecorateUndefinedMediaKind; - (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; @end