@class NSMutableDictionary, NSDictionary, _UIFlowLayoutInfo, _UIUpdateVisibleCellsContext; @protocol _UICollectionViewUpdateTranslating; @interface UICollectionViewFlowLayout : UICollectionViewLayout { struct { unsigned char delegateSizeForItem : 1; unsigned char delegateReferenceSizeForHeader : 1; unsigned char delegateReferenceSizeForFooter : 1; unsigned char delegateInsetForSection : 1; unsigned char delegateInteritemSpacingForSection : 1; unsigned char delegateLineSpacingForSection : 1; unsigned char delegateAlignmentOptions : 1; unsigned char layoutDataIsValid : 1; unsigned char delegateInfoIsValid : 1; unsigned char roundsToScreenScale : 1; unsigned char delegateSizesForSection : 1; unsigned char sectionHeadersFloat : 1; unsigned char sectionFootersFloat : 1; unsigned char headerFollowsSectionMargins : 1; unsigned char footerFollowsSectionMargins : 1; unsigned char fetchingItemsInfoForRect : 1; unsigned char isInUpdateVisibleCellsPass : 1; } _gridLayoutFlags; _UIFlowLayoutInfo *_data; struct CGSize { double width; double height; } _currentLayoutSize; NSMutableDictionary *_insertedItemsAttributesDict; NSMutableDictionary *_insertedSectionHeadersAttributesDict; NSMutableDictionary *_insertedSectionFootersAttributesDict; NSMutableDictionary *_deletedItemsAttributesDict; NSMutableDictionary *_deletedSectionHeadersAttributesDict; NSMutableDictionary *_deletedSectionFootersAttributesDict; long long _scrollDirection; NSDictionary *_rowAlignmentsOptionsDictionary; struct CGPoint { double x; double y; } _contentOffsetAdjustment; struct CGSize { double width; double height; } _contentSizeAdjustment; NSMutableDictionary *_cachedItemAttributes; NSMutableDictionary *_cachedItemFrames; _UIUpdateVisibleCellsContext *_updateVisibleCellsContext; id<_UICollectionViewUpdateTranslating> _currentUpdateTranslator; } @property (readonly, nonatomic, getter=_estimatesSizes) BOOL estimatesSizes; @property (nonatomic) double minimumLineSpacing; @property (nonatomic) double minimumInteritemSpacing; @property (nonatomic) struct CGSize { double width; double height; } itemSize; @property (nonatomic) struct CGSize { double width; double height; } estimatedItemSize; @property (nonatomic) long long scrollDirection; @property (nonatomic) struct CGSize { double width; double height; } headerReferenceSize; @property (nonatomic) struct CGSize { double width; double height; } footerReferenceSize; @property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } sectionInset; @property (nonatomic) long long sectionInsetReference; @property (nonatomic) BOOL sectionHeadersPinToVisibleBounds; @property (nonatomic) BOOL sectionFootersPinToVisibleBounds; + (Class)invalidationContextClass; - (BOOL)_shouldInvalidateLayoutForUpdatedLayoutMargins:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0 fromOldMargins:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1; - (id)_invalidationContextForUpdatedLayoutMargins:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0; - (BOOL)_shouldInvalidateLayoutForOldInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0 newInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1; - (struct CGSize { double x0; double x1; })collectionViewContentSize; - (void)_willPerformUpdateVisibleCellsPass; - (BOOL)_shouldInvalidateLayoutForUpdatedSafeAreaInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0 fromOldInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1; - (BOOL)shouldInvalidateLayoutForBoundsChange:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (id)invalidationContextForBoundsChange:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (unsigned long long)_layoutAxis; - (BOOL)_cellsShouldConferWithAutolayoutEngineForSizingInfo; - (void)invalidateLayoutWithContext:(id)a0; - (void)prepareLayout; - (id)invalidationContextForPreferredLayoutAttributes:(id)a0 withOriginalAttributes:(id)a1; - (id)layoutAttributesForSupplementaryViewOfKind:(id)a0 atIndexPath:(id)a1; - (void)_prepareForCollectionViewUpdates:(id)a0 withDataSourceTranslator:(id)a1; - (BOOL)shouldInvalidateLayoutForPreferredLayoutAttributes:(id)a0 withOriginalAttributes:(id)a1; - (id)layoutAttributesForElementsInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_didPerformUpdateVisibleCellsPassWithLayoutOffset:(struct CGPoint { double x0; double x1; })a0; - (id)init; - (void)_setCollectionView:(id)a0; - (id)layoutAttributesForItemAtIndexPath:(id)a0; - (void)_finalizeCollectionViewUpdate:(id)a0; - (void)encodeWithCoder:(id)a0; - (void).cxx_destruct; - (id)initWithCoder:(id)a0; - (BOOL)_shouldScrollToContentBeginningInRightToLeft; - (id)indexesForSectionHeadersInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (long long)_sectionArrayIndexForIndexPath:(id)a0; - (id)indexesForSectionFootersInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })_adjustedSectionInsetForSectionInset:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0 forAxis:(unsigned long long)a1; - (BOOL)_boundsAndInsetsAreValidForReferenceDimension; - (void)_calculateAttributesForRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct CGPoint { double x0; double x1; })_contentOffsetForScrollingToSection:(long long)a0; - (double)_dimensionFromCollectionView; - (struct CGSize { double x0; double x1; })_effectiveEstimatedItemSize; - (id)_existingLayoutAttributesForItemAtIndexPath:(id)a0; - (id)_fetchAndCacheNewLayoutAttributesForCellWithIndexPath:(id)a0 frame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)_fetchItemsInfoForRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })_focusFastScrollingIndexBarInsets; - (BOOL)_footerFollowsSectionMargins; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_frameForFooterInSection:(long long)a0 usingData:(id)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_frameForHeaderInSection:(long long)a0 usingData:(id)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_frameForItem:(long long)a0 inSection:(long long)a1 usingData:(id)a2; - (void)_getSizingInfosWithExistingSizingDictionary:(id)a0; - (BOOL)_headerFollowsSectionMargins; - (void)_invalidateButKeepAllInfo; - (void)_invalidateButKeepDelegateInfo; - (id)_layoutAttributesForItemsInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_resetCachedItems; - (BOOL)_roundsToScreenScale; - (id)_rowAlignmentOptions; - (void)_setFooterFollowsSectionMargins:(BOOL)a0; - (void)_setHeaderFollowsSectionMargins:(BOOL)a0; - (void)_setNeedsLayoutComputationWithoutInvalidation; - (void)_setRoundsToScreenScale:(BOOL)a0; - (void)_setRowAlignmentsOptions:(id)a0; - (void)_updateCollectionViewScrollableAxis; - (void)_updateContentSizeScrollingDimensionWithDelta:(double)a0; - (void)_updateDelegateFlags; - (void)_updateItemsLayoutForRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 allowsPartialUpdate:(BOOL)a1; - (long long)developmentLayoutDirection; - (id)finalLayoutAttributesForDeletedItemAtIndexPath:(id)a0; - (id)finalLayoutAttributesForFooterInDeletedSection:(long long)a0; - (id)finalLayoutAttributesForHeaderInDeletedSection:(long long)a0; - (id)indexPathForItemAtPoint:(struct CGPoint { double x0; double x1; })a0; - (id)indexesForSectionFootersInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 usingData:(id)a1; - (id)indexesForSectionHeadersInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 usingData:(id)a1; - (id)initialLayoutAttributesForFooterInInsertedSection:(long long)a0; - (id)initialLayoutAttributesForHeaderInInsertedSection:(long long)a0; - (id)initialLayoutAttributesForInsertedItemAtIndexPath:(id)a0; - (id)layoutAttributesForFooterInSection:(long long)a0; - (id)layoutAttributesForFooterInSection:(long long)a0 usingData:(id)a1; - (id)layoutAttributesForHeaderInSection:(long long)a0; - (id)layoutAttributesForHeaderInSection:(long long)a0 usingData:(id)a1; - (id)layoutAttributesForItemAtIndexPath:(id)a0 usingData:(id)a1; - (struct CGSize { double x0; double x1; })synchronizeLayout; @end