@class NSMutableDictionary, UIContextMenuInteraction, SFFluidCollectionViewReuseManager, NSMutableArray, SFFluidCollectionElementIdentifier, SFFluidCollectionViewDragCoordinator, UITapGestureRecognizer, NSString, NSSet, SFFluidCollectionViewLayout, NSMutableSet, SFFluidCollectionShadowUpdateController, NSArray, SFFluidCollectionViewDropCoordinator, UITouch, UIViewFloatAnimatableProperty, SFFluidCollectionViewUpdate; @protocol SFFluidCollectionViewDragDelegate, UICoordinateSpace, SFFluidCollectionViewTrackedUpdateToken, UIViewSpringAnimationBehaviorDescribing, SFFluidCollectionViewDataSource, SFFluidCollectionDataContainer, SFFluidCollectionViewDelegate, SFFluidCollectionViewDropDelegate; @interface SFFluidCollectionView : UIScrollView <UIContextMenuInteractionDelegate, SFFluidCollectionLayoutContainer, SFFluidCollectionShadowUpdateContainer, SFFluidCollectionDataContainer> { NSMutableDictionary *_activeInteractions; UIContextMenuInteraction *_contextMenuInteraction; UITouch *_currentTouch; NSMutableSet *_displayedItemInfos; SFFluidCollectionViewDragCoordinator *_dragCoordinator; SFFluidCollectionViewDropCoordinator *_dropCoordinator; SFFluidCollectionElementIdentifier *_elementIdentifierPendingSelection; NSMutableArray *_interactions; UIViewFloatAnimatableProperty *_interpolatedContentOffsetX; UIViewFloatAnimatableProperty *_interpolatedContentOffsetY; BOOL _settingContentOffsetFromInterpolation; NSMutableDictionary *_itemInfosByElementIdentifier; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _lastBoundsForElementsInRect; NSSet *_lastElementIdentifiersForBounds; struct CGPoint { double x; double y; } _lastScrollPercent; NSMutableArray *_numberOfItemsBySection; SFFluidCollectionViewReuseManager *_reuseManager; NSMutableSet *_selectedIndexPaths; UITapGestureRecognizer *_tapRecognizer; id<SFFluidCollectionViewTrackedUpdateToken> _trackedUpdateToken; SFFluidCollectionViewUpdate *_update; SFFluidCollectionViewUpdate *_updateWithShadowUpdates; id<UIViewSpringAnimationBehaviorDescribing> _springBehavior; struct { BOOL needsPrepareLayout; BOOL needsFinalizeLayout; BOOL needsFinalizeAnimatedBoundsChange; BOOL needsFinalizeUpdate; } _updateFlags; BOOL _hasLoadedData; } @property (readonly, nonatomic) SFFluidCollectionShadowUpdateController *shadowUpdateController; @property (readonly, nonatomic) unsigned long long numberOfSections; @property (retain, nonatomic) SFFluidCollectionViewLayout *fluidCollectionViewLayout; @property (weak, nonatomic) id<SFFluidCollectionViewDataSource> dataSource; @property (weak, nonatomic) id<SFFluidCollectionViewDelegate> delegate; @property (weak, nonatomic) id<SFFluidCollectionViewDragDelegate> dragDelegate; @property (weak, nonatomic) id<SFFluidCollectionViewDropDelegate> dropDelegate; @property (readonly, nonatomic) NSArray *indexPathsOfSelectedItems; @property (nonatomic) BOOL allowsMultipleSelection; @property (readonly, nonatomic) NSSet *activeInteractions; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) id<UICoordinateSpace> coordinateSpace; @property (readonly, nonatomic) id<SFFluidCollectionDataContainer> dataContainer; - (void)touchesCancelled:(id)a0 withEvent:(id)a1; - (id)contextMenuInteraction:(id)a0 configuration:(id)a1 highlightPreviewForItemWithIdentifier:(id)a2; - (void)setContentOffset:(struct CGPoint { double x0; double x1; })a0; - (void)contextMenuInteraction:(id)a0 willPerformPreviewActionForMenuWithConfiguration:(id)a1 animator:(id)a2; - (void)reloadData; - (void)traitCollectionDidChange:(id)a0; - (void)contextMenuInteraction:(id)a0 willEndForConfiguration:(id)a1 animator:(id)a2; - (void)setFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (unsigned long long)numberOfItemsInSection:(unsigned long long)a0; - (void)touchesBegan:(id)a0 withEvent:(id)a1; - (id)contextMenuInteraction:(id)a0 configurationForMenuAtLocation:(struct CGPoint { double x0; double x1; })a1; - (void)setBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)performBatchUpdatesWithBlock:(id /* block */)a0; - (void).cxx_destruct; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 layout:(id)a1; - (void)touchesEnded:(id)a0 withEvent:(id)a1; - (void)layoutSubviews; - (void)touchesMoved:(id)a0 withEvent:(id)a1; - (void)didMoveToWindow; - (void)deleteSections:(id)a0; - (void)insertSections:(id)a0; - (void)deleteItemsAtIndexPaths:(id)a0; - (void)insertItemsAtIndexPaths:(id)a0; - (void)moveItemAtIndexPath:(id)a0 toIndexPath:(id)a1; - (void)moveSection:(unsigned long long)a0 toSection:(unsigned long long)a1; - (void)reloadItemsAtIndexPaths:(id)a0; - (id)performTrackedUpdatesWithBlock:(id /* block */)a0; - (void)addFluidCollectionViewInteraction:(id)a0; - (void)applyShadowUpdate:(id)a0; - (void)beginFluidCollectionViewInteraction:(id)a0 withItemsAtIndexPaths:(id)a1; - (id)dataSourceIndexPathForIndexPath:(id)a0; - (id)dequeueSupplementaryViewOfKind:(id)a0 reuseIdentifier:(id)a1 forIndexPath:(id)a2; - (id)dequeueViewWithReuseIdentifier:(id)a0 forIndexPath:(id)a1; - (void)deselectItemAtIndexPath:(id)a0; - (void)endFluidCollectionViewInteraction:(id)a0; - (void)endTrackedUpdate:(id)a0; - (id)indexPathForDataSourceIndexPath:(id)a0; - (id)indexPathForItemView:(id)a0; - (id)indexPathOfItemAtLocation:(struct CGPoint { double x0; double x1; })a0; - (id)indexPathsForFluidCollectionViewInteraction:(id)a0; - (BOOL)isAnimatingItemAtIndexPath:(id)a0; - (void)layoutWasInvalidatedWithContext:(id)a0; - (void)registerReuseIdentifier:(id)a0 viewCreationBlock:(id /* block */)a1; - (void)registerSupplementaryViewOfKind:(id)a0 reuseIdentifier:(id)a1 viewCreationBlock:(id /* block */)a2; - (void)selectItemAtIndexPath:(id)a0; - (void)updateFluidCollectionViewInteraction:(id)a0; - (void)updateProgress:(double)a0 forTrackedUpdate:(id)a1; - (id)viewForItemAtIndexPath:(id)a0; @end