@class NSString, NSArray, _UICollectionViewLayoutSwipeActionsModule, UICollectionViewLayoutInvalidationContext, NSMutableDictionary, UIDynamicAnimator, _UICollectionViewCompositionLayout, UICollectionView, _UICollectionViewAnimationContext, NSIndexSet, UIColor; @interface UICollectionViewLayout : NSObject <_UICollectionViewLayoutOrthogonalScrolling, _UICollectionViewLayoutSwipeActions, NSCoding> { struct CGSize { double width; double height; } _collectionViewBoundsSize; NSMutableDictionary *_initialAnimationLayoutAttributesDict; NSMutableDictionary *_finalAnimationLayoutAttributesDict; NSMutableDictionary *_deletedSupplementaryIndexPathsDict; NSMutableDictionary *_insertedSupplementaryIndexPathsDict; NSMutableDictionary *_deletedDecorationIndexPathsDict; NSMutableDictionary *_insertedDecorationIndexPathsDict; NSMutableDictionary *_decorationViewClassDict; NSMutableDictionary *_decorationViewNibDict; NSMutableDictionary *_decorationViewExternalObjectsTables; UICollectionViewLayout *_transitioningFromLayout; UICollectionViewLayout *_transitioningToLayout; UIDynamicAnimator *_animator; UICollectionViewLayoutInvalidationContext *_invalidationContext; _UICollectionViewLayoutSwipeActionsModule *_swipeActionsModule; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _frame; NSIndexSet *_sections; NSIndexSet *_items; NSArray *_elementKinds; _UICollectionViewCompositionLayout *_compositionLayout; UICollectionViewLayout *_siblingLayout; struct CGPoint { double x; double y; } _layoutOffset; unsigned long long _layoutOffsetEdges; struct { unsigned char inTransitionFromTransitionLayout : 1; unsigned char inTransitionToTransitionLayout : 1; unsigned char prepared : 1; unsigned char wantsRightToLeftHorizontalMirroringIfNeeded : 1; unsigned char isEditing : 1; } _layoutFlags; } @property (nonatomic, getter=_frame, setter=_setFrame:) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } frame; @property (copy, nonatomic, getter=_sections, setter=_setSections:) NSIndexSet *sections; @property (copy, nonatomic, getter=_items, setter=_setItems:) NSIndexSet *items; @property (copy, nonatomic, getter=_elementKinds, setter=_setElementKinds:) NSArray *elementKinds; @property (nonatomic, getter=_compositionLayout, setter=_setCompositionLayout:) _UICollectionViewCompositionLayout *compositionLayout; @property (nonatomic, getter=_siblingLayout, setter=_setSiblingLayout:) UICollectionViewLayout *siblingLayout; @property (nonatomic, getter=_layoutOffset, setter=_setLayoutOffset:) struct CGPoint { double x0; double x1; } layoutOffset; @property (nonatomic, getter=_layoutOffsetEdges, setter=_setLayoutOffsetEdges:) unsigned long long layoutOffsetEdges; @property (nonatomic, getter=_sublayoutType, setter=_setSublayoutType:) long long sublayoutType; @property (nonatomic, getter=_isPrepared, setter=_setPrepared:) BOOL prepared; @property (retain, nonatomic, getter=_collectionViewAnimationContext, setter=_setCollectionViewAnimationContext:) _UICollectionViewAnimationContext *collectionViewAnimationContext; @property (retain, nonatomic, getter=_preferredBackgroundColor, setter=_setPreferredBackgroundColor:) UIColor *preferredBackgroundColor; @property (readonly, nonatomic, getter=_focusFastScrollingIndexBarInsets) struct UIEdgeInsets { double x0; double x1; double x2; double x3; } focusFastScrollingIndexBarInsets; @property (readonly, nonatomic, getter=_isInLayoutTransition) BOOL _isInLayoutTransition; @property (readonly, nonatomic) UICollectionView *collectionView; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (Class)layoutAttributesClass; + (Class)invalidationContextClass; - (BOOL)_wantsUntrackedAnimationCleanupForAuxillaryItems; - (void)_didEndSwiping; - (id)_extendedAttributesQueryIncludingOrthogonalScrollingRegions:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (BOOL)_wantsAnimationsForOffscreenAuxillaries; - (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; - (void)_setOffset:(struct CGPoint { double x0; double x1; })a0 forOrthogonalScrollingSection:(long long)a1; - (struct CGSize { double x0; double x1; })collectionViewContentSize; - (void)_willPerformUpdateVisibleCellsPass; - (double)_alignedContentMarginGivenMargin:(double)a0; - (BOOL)_shouldInvalidateLayoutForDataSourceChange; - (long long)_anchorForAuxiliaryElementOfKind:(id)a0; - (unsigned long long)_edgesForSafeAreaPropagationToDescendants; - (id)_leadingSwipeActionsConfigurationForIndexPath:(id)a0; - (BOOL)_shouldAddElementToSectionContainer:(id)a0; - (void)_postProcessPreferredAttributes:(id)a0 forView:(id)a1; - (BOOL)_shouldOrthogonalScrollingSectionDecorationScrollWithContentForIndexPath:(id)a0 elementKind:(id)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_orthogonalFrameWithOffsetElidedForItemWithLayoutAttributes:(id)a0 frame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (id)layoutAttributesForInteractivelyMovingItemAtIndexPath:(id)a0 withTargetPosition:(struct CGPoint { double x0; double x1; })a1; - (BOOL)_wantsBandSelectionVisualsInSection:(long long)a0; - (BOOL)_supportsSwipeActionsForIndexPath:(id)a0; - (void)_willBeginSwiping; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_layoutFrameForSection:(long long)a0; - (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; - (id)finalLayoutAttributesForDisappearingDecorationElementOfKind:(id)a0 atIndexPath:(id)a1; - (BOOL)_wantsUpdateVisibleCellsPassNotifications; - (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; - (void)_prepareLayout; - (BOOL)_disallowsFadeCellsForBoundsChange; - (id)indexPathsToInsertForSupplementaryViewOfKind:(id)a0; - (BOOL)_overridesSafeAreaPropagationToDescendants; - (BOOL)_wantsCustomSectionContainers; - (double)_orthogonalScrollingDecelerationRateForSection:(long long)a0; - (BOOL)_cellsShouldConferWithAutolayoutEngineForSizingInfo; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_contentFrameForSection:(long long)a0; - (BOOL)_hasOrthogonalScrollingSections; - (struct CGPoint { double x0; double x1; })_offsetForOrthogonalScrollingSection:(long long)a0; - (BOOL)_orthogonalScrollingElementShouldAppearBelowForAttributes:(id)a0; - (void)invalidateLayoutWithContext:(id)a0; - (void)prepareLayout; - (BOOL)_allowsItemInteractionsToBegin; - (void)_collectionViewWillPerformPendingLayoutBeforeUpdate; - (id)invalidationContextForPreferredLayoutAttributes:(id)a0 withOriginalAttributes:(id)a1; - (BOOL)_shouldOrthogonalScrollingSectionSupplementaryScrollWithContentForIndexPath:(id)a0 elementKind:(id)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_orthogonalScrollingLayoutRectForSection:(long long)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_orthogonalScrollingContentRectForSection:(long long)a0; - (BOOL)_preparedForBoundsChanges; - (BOOL)_shouldAdjustTargetContentOffsetToValidateContentExtents; - (id)_orthogonalScrollingSections; - (id)layoutAttributesForSupplementaryViewOfKind:(id)a0 atIndexPath:(id)a1; - (void)_prepareForCollectionViewUpdates:(id)a0 withDataSourceTranslator:(id)a1; - (id)indexPathsToDeleteForDecorationViewOfKind:(id)a0; - (void)_prepareForPreferredAttributesQueryForView:(id)a0 withLayoutAttributes:(id)a1; - (id)_sectionDescriptorForSectionIndex:(long long)a0; - (id)_propertyAnimatorForCollectionViewUpdates:(id)a0 withCustomAnimator:(id)a1; - (id)_trailingSwipeActionsConfigurationForIndexPath:(id)a0; - (void)_prepareForTransitionToLayout:(id)a0; - (BOOL)shouldInvalidateLayoutForPreferredLayoutAttributes:(id)a0 withOriginalAttributes:(id)a1; - (BOOL)_estimatesSizes; - (BOOL)_allowsPanningAcrossConstrainedAxisToBeginMultiSelectInteractionInSection:(long long)a0; - (id)layoutAttributesForElementsInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (id)indexPathsToInsertForDecorationViewOfKind:(id)a0; - (void)_didPerformUpdateVisibleCellsPassWithLayoutOffset:(struct CGPoint { double x0; double x1; })a0; - (BOOL)_wantsInvalidateLayoutForPreferredLayoutAttributes; - (id)finalLayoutAttributesForDisappearingItemAtIndexPath:(id)a0; - (unsigned long long)_orthogonalScrollingAxis; - (id)_customContainerSectionIndexes; - (BOOL)canBeEdited; - (id)init; - (void)_cellBackgroundOrBottomSeparatorChangedAtIndexPath:(id)a0 separatorOnly:(BOOL)a1; - (struct CGPoint { double x0; double x1; })_targetPositionForInteractiveMovementOfItemAtIndexPath:(id)a0 withProposedTargetPosition:(struct CGPoint { double x0; double x1; })a1; - (void)_setCollectionView:(id)a0; - (BOOL)_supportsPrefetchingWithEstimatedSizes; - (id)layoutAttributesForItemAtIndexPath:(id)a0; - (void)_finalizeCollectionViewUpdate:(id)a0; - (struct NSDirectionalEdgeInsets { double x0; double x1; double x2; double x3; })_supplementaryViewInsetsForScrollingToItemAtIndexPath:(id)a0; - (id)indexPathsToDeleteForSupplementaryViewOfKind:(id)a0; - (void)_scrollViewLayoutAdjustmentsChanged; - (void)_updateStyleForSwipeActionsConfiguration:(id)a0 indexPath:(id)a1; - (id)_layoutAttributesForIndelibleElements; - (BOOL)_estimatesSupplementaryItems; - (id)layoutAttributesForDecorationViewOfKind:(id)a0 atIndexPath:(id)a1; - (BOOL)_orthogonalScrollingElementShouldAppearAboveForAttributes:(id)a0; - (void)encodeWithCoder:(id)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })bounds; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })convertRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 toLayout:(id)a1; - (id)initialLayoutAttributesForAppearingItemAtIndexPath:(id)a0; - (void).cxx_destruct; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_dynamicReferenceBounds; - (void)setEditing:(BOOL)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })convertRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 fromLayout:(id)a1; - (void)invalidateLayout; - (id)initWithCoder:(id)a0; - (BOOL)isEditing; - (BOOL)_shouldScrollToContentBeginningInRightToLeft; - (void)prepareForTransitionFromLayout:(id)a0; - (void)prepareForAnimatedBoundsChange:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (id /* block */)_animationForReusableView:(id)a0 toLayoutAttributes:(id)a1; - (id /* block */)_animationForReusableView:(id)a0 toLayoutAttributes:(id)a1 type:(unsigned long long)a2; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_centerInsertionIndicatorFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 targetAttributes:(id)a1 axis:(unsigned long long)a2 edges:(unsigned long long)a3; - (struct CGPoint { double x0; double x1; })_contentOffsetForScrollingToSection:(long long)a0; - (struct CGPoint { double x0; double x1; })_contentOffsetFromProposedContentOffset:(struct CGPoint { double x0; double x1; })a0 forScrollingToItemAtIndexPath:(id)a1 atScrollPosition:(unsigned long long)a2; - (id)_decorationViewForLayoutAttributes:(id)a0; - (void)_didFinishLayoutTransitionAnimations:(BOOL)a0; - (BOOL)_disablesDoubleSidedAnimations; - (id)_dynamicAnimator; - (struct CGSize { double x0; double x1; })_fallbackItemSize; - (id)_finalLayoutAttributesForDisappearingItemAtIndexPath:(id)a0; - (void)_finalizeCollectionViewItemAnimations; - (void)_finalizeLayoutTransition; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_frameForInsertionIndicatorForTargetFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 axis:(unsigned long long)a1 edges:(unsigned long long)a2; - (id)_indexPathForInsertionIndicatorForTargetAttributes:(id)a0 axis:(unsigned long long)a1 edges:(unsigned long long)a2 previousAttributes:(id)a3 nextAttributes:(id)a4; - (id)_indexPathsToDeleteForDecorationViewOfKind:(id)a0; - (id)_indexPathsToDeleteForSupplementaryViewOfKind:(id)a0; - (id)_indexPathsToInsertForDecorationViewOfKind:(id)a0; - (id)_indexPathsToInsertForSupplementaryViewOfKind:(id)a0; - (BOOL)_initialAppearingLayoutAttributesCanBeOverriddenForEstimatedSizing; - (id)_initialLayoutAttributesForAppearingItemAtIndexPath:(id)a0; - (void)_invalidateLayoutUsingContext:(id)a0; - (id)_invalidationContextForBoundsChange:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 fromOldBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (id)_invalidationContextForEndingReorderingItemToFinalIndexPaths:(id)a0 previousIndexPaths:(id)a1 reorderingCancelled:(BOOL)a2; - (id)_invalidationContextForRefreshingVisibleElementAttributes; - (id)_invalidationContextForReorderingTargetPosition:(struct CGPoint { double x0; double x1; })a0 targetIndexPaths:(id)a1 withPreviousPosition:(struct CGPoint { double x0; double x1; })a2 previousIndexPaths:(id)a3; - (id)_layoutAttributesForElementsInProjectedRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 withProjectionVector:(struct CGVector { double x0; double x1; })a1 projectionDistance:(double)a2; - (id)_layoutAttributesForInsertionIndicatorAtItemWithTargetAttributes:(id)a0 targetPositionEdges:(unsigned long long)a1; - (id)_layoutAttributesForInsertionIndicatorAtTargetIndexPath:(id)a0; - (id)_layoutAttributesForInsertionIndicatorAtTargetPosition:(struct CGPoint { double x0; double x1; })a0 sourceIndexPath:(id)a1; - (id)_layoutAttributesForItemNearestPosition:(struct CGPoint { double x0; double x1; })a0 maximumDistance:(double)a1; - (id)_layoutAttributesForNextItemInDirection:(struct CGPoint { double x0; double x1; })a0 fromIndexPath:(id)a1 constrainedToRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2; - (id)_layoutAttributesForReorderedItemAtIndexPath:(id)a0 withTargetPosition:(struct CGPoint { double x0; double x1; })a1; - (unsigned long long)_layoutAxisForAttributes:(id)a0 previousAttributes:(id)a1 nextAttributes:(id)a2; - (BOOL)_needsRecomputeOfPreferredAttributesForVisibleEstimatedItemsDuringUpdate; - (id)_nextLayoutAttributesForGlobalIndex:(long long)a0; - (struct CGPoint { double x0; double x1; })_offsetInTopParentLayout:(id *)a0; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })_preferredLayoutMargins; - (void)_prepareForCollectionViewUpdates:(id)a0 animated:(BOOL)a1; - (void)_prepareForTransitionFromLayout:(id)a0; - (void)_prepareToAnimateFromCollectionViewItems:(id)a0 atContentOffset:(struct CGPoint { double x0; double x1; })a1 toItems:(id)a2 atContentOffset:(struct CGPoint { double x0; double x1; })a3; - (id)_previousLayoutAttributesForGlobalIndex:(long long)a0; - (id)_reorderingTargetItemIndexPathForPosition:(struct CGPoint { double x0; double x1; })a0 withPreviousIndexPath:(id)a1; - (void)_setCollectionViewBoundsSize:(struct CGSize { double x0; double x1; })a0; - (void)_setDynamicAnimator:(id)a0; - (void)_setExternalObjectTable:(id)a0 forNibLoadingOfDecorationViewOfKind:(id)a1; - (void)_setWantsRightToLeftHorizontalMirroringIfNeeded:(BOOL)a0; - (BOOL)_supportsAdvancedTransitionAnimations; - (BOOL)_wantsRightToLeftHorizontalMirroringIfNeeded; - (long long)developmentLayoutDirection; - (id)finalLayoutAttributesForDisappearingSupplementaryElementOfKind:(id)a0 atIndexPath:(id)a1; - (void)finalizeAnimatedBoundsChange; - (void)finalizeCollectionViewUpdates; - (void)finalizeLayoutTransition; - (BOOL)flipsHorizontallyInOppositeLayoutDirection; - (id)initialLayoutAttributesForAppearingDecorationElementOfKind:(id)a0 atIndexPath:(id)a1; - (id)initialLayoutAttributesForAppearingSupplementaryElementOfKind:(id)a0 atIndexPath:(id)a1; - (id)invalidationContextForEndingInteractiveMovementOfItemsToFinalIndexPaths:(id)a0 previousIndexPaths:(id)a1 movementCancelled:(BOOL)a2; - (id)invalidationContextForInteractivelyMovingItems:(id)a0 withTargetPosition:(struct CGPoint { double x0; double x1; })a1 previousIndexPaths:(id)a2 previousPosition:(struct CGPoint { double x0; double x1; })a3; - (void)prepareForCollectionViewUpdates:(id)a0; - (void)prepareForTransitionToLayout:(id)a0; - (void)registerClass:(Class)a0 forDecorationViewOfKind:(id)a1; - (void)registerNib:(id)a0 forDecorationViewOfKind:(id)a1; - (id)snapshottedLayoutAttributeForItemAtIndexPath:(id)a0; - (struct CGPoint { double x0; double x1; })targetContentOffsetForProposedContentOffset:(struct CGPoint { double x0; double x1; })a0; - (struct CGPoint { double x0; double x1; })targetContentOffsetForProposedContentOffset:(struct CGPoint { double x0; double x1; })a0 withScrollingVelocity:(struct CGPoint { double x0; double x1; })a1; - (id)targetIndexPathForInteractivelyMovingItem:(id)a0 withPosition:(struct CGPoint { double x0; double x1; })a1; - (struct CGPoint { double x0; double x1; })transitionContentOffsetForProposedContentOffset:(struct CGPoint { double x0; double x1; })a0 keyItemIndexPath:(id)a1; @end