@class PUTilingLayout, NSMutableDictionary, PUReuseQueue, NSMutableArray, PUTileTree, NSMutableSet, PUTileAnimator, PUTileTransitionCoordinator; @protocol PUTilingViewScrollDelegate, PUTilingViewTileUseDelegate, PUTilingCoordinateSystem, PUTilingViewTileSource, PUTilingViewTileTransitionDelegate; @interface PUTilingView : UIScrollView { struct { BOOL respondsToDataSourceConverterForTransitionFromLayoutToLayout; BOOL respondsToTileTransitionCoordinatorForTransitionFromLayoutWithContext; BOOL respondsToTileTransitionCoordinatorForUpdateWithItems; BOOL respondsToTileTransitionCoordinatorForChangeFromFrame; BOOL respondsToTileTransitionCoordinatorForReattachedTileControllers; BOOL respondsToTileTransitionCoordinatorForLayoutInvalidationContext; BOOL respondsToCanBypass20069585Check; } _tileTransitionDelegateFlags; struct { BOOL respondsToScrollInfoWithLayout; BOOL respondsToInitialVisibleOriginWithLayout; BOOL respondsToTargetVisibleOriginForProposedVisibleOrigin; } _scrollDelegateFlags; struct { BOOL respondsToWillStartUsingTileController; BOOL respondsToDidStopUsingTileController; BOOL respondsToDidUpdateTileControllers; BOOL respondsToDidEndAnimatingTileControllers; } _tileUseDelegateFlags; } @property (retain, nonatomic, setter=_setLayout:) PUTilingLayout *layout; @property (retain, nonatomic, setter=_setPendingLayout:) PUTilingLayout *_pendingLayout; @property (readonly, nonatomic) PUReuseQueue *_tileControllerReuseQueue; @property (readonly, nonatomic) PUTileTree *_activeTileControllers; @property (readonly, nonatomic) PUTileTree *_inactiveTileControllers; @property (readonly, nonatomic) PUTileTree *_detachedTileControllers; @property (readonly, nonatomic) NSMutableDictionary *_referencedDataSourcesByIdentifiers; @property (readonly, nonatomic) NSMutableSet *_referencedCoordinateSystems; @property (nonatomic, setter=_setNeedsUpdateLayoutVisibleRect:) BOOL _needsUpdateLayoutVisibleRect; @property (nonatomic, setter=_setNeedsUpdateTileControllersVisibleRect:) BOOL _needsUpdateTileControllersVisibleRect; @property (nonatomic, setter=_setNeedsUpdateLayoutCoordinateSystem:) BOOL _needsUpdateLayoutCoordinateSystem; @property (nonatomic, setter=_setNeedsUpdateLayout:) BOOL _needsUpdateLayout; @property (nonatomic, setter=_setNeedsUpdateScrollViewProperties:) BOOL _needsUpdateScrollViewProperties; @property (nonatomic, setter=_setNeedsUpdateTileControllers:) BOOL _needsUpdateTileControllers; @property (nonatomic, setter=_setNeedsUpdateReferencedDataSources:) BOOL _needsUpdateReferencedDataSources; @property (nonatomic, setter=_setNeedsUpdateReferencedCoordinateSystems:) BOOL _needsUpdateReferencedCoordinateSystems; @property (retain, nonatomic, setter=_setTileTransitionCoordinatorForNextLayout:) PUTileTransitionCoordinator *_tileTransitionCoordinatorForNextLayout; @property (nonatomic, setter=_setReasonForNextLayoutCoordinateSystemUpdate:) long long _reasonForNextLayoutCoordinateSystemUpdate; @property (nonatomic, getter=_isPerformingBatchUpdates, setter=_setPerformingBatchUpdates:) BOOL _performingBatchUpdates; @property (readonly, nonatomic) NSMutableArray *_pendingUpdateItems; @property (nonatomic, setter=_setPagingSpringPullAdjustment:) double _pagingSpringPullAdjustment; @property (nonatomic, setter=_setPagingFrictionAdjustment:) double _pagingFrictionAdjustment; @property (readonly, nonatomic) NSMutableDictionary *_postLayoutBlocks; @property (copy, nonatomic) id /* block */ onNextTileControllersUpdateBlock; @property (weak, nonatomic) id<PUTilingViewTileSource> tileSource; @property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } loadingInsets; @property (weak, nonatomic) PUTileAnimator *tileAnimator; @property (weak, nonatomic) id<PUTilingViewTileTransitionDelegate> tileTransitionDelegate; @property (weak, nonatomic) id<PUTilingViewScrollDelegate> scrollDelegate; @property (weak, nonatomic) id<PUTilingViewTileUseDelegate> tileUseDelegate; @property (readonly, nonatomic) id<PUTilingCoordinateSystem> contentCoordinateSystem; @property (readonly, nonatomic) id<PUTilingCoordinateSystem> fixedCoordinateSystem; @property (readonly, nonatomic) BOOL isAnyTileControllerAnimating; @property (nonatomic) BOOL shouldDisplayHDR; + (unsigned long long)_defaultEdgesScrollingContentIntoSafeArea; - (id)tileControllerWithIndexPath:(id)a0 kind:(id)a1 dataSourceIdentifier:(id)a2; - (void)_invalidateTileControllersWithTileTransitionCoordinator:(id)a0; - (void)_transferTileControllersToDataSource:(id)a0 usingDataSourceConverter:(id)a1; - (void)layoutSublayersOfLayer:(id)a0; - (void)transitionToLayout:(id)a0 withContext:(id)a1 animationSetupCompletionHandler:(id /* block */)a2; - (void)performBatchUpdates:(id /* block */)a0; - (void)enqueueTileControllerForReuse:(id)a0; - (void)_enumerateActiveTileControllersUsingBlock:(id /* block */)a0; - (void)insertItemAtIndexPath:(id)a0 dataSource:(id)a1; - (void)registerTileControllerClass:(Class)a0 forReuseIdentifier:(id)a1; - (void)enumeratePresentedTileControllersInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 usingBlock:(id /* block */)a1; - (void)deleteItemAtIndexPath:(id)a0 dataSource:(id)a1; - (void)_updateScrollViewPropertiesWithLayout:(id)a0; - (void)_handleChangeFromBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 fromFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (id)presentedTileControllerWithIndexPath:(id)a0 kind:(id)a1 dataSourceIdentifier:(id)a2; - (void)_updateTileControllersWithLayout:(id)a0 reactivatability:(id /* block */)a1 appearanceHandler:(id /* block */)a2 updateHandler:(id /* block */)a3 disappearanceHandler:(id /* block */)a4 heartBeatHandler:(id /* block */)a5; - (void)transitionToLayout:(id)a0; - (void)registerPostLayoutBlock:(id /* block */)a0 forIdentifier:(id)a1; - (void)_updateTileControllersVisibleRectIfNeeded; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_runPostLayoutBlocks; - (void)_invalidateLayoutCoordinateSystemWithReason:(long long)a0; - (void)setFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_updateLayoutIfNeeded; - (void)_setNeedsUpdate; - (void)_updateReferencedDataSourcesIfNeeded; - (id)freezeTileController:(id)a0; - (void)_updateReferencedCoordinateSystemsIfNeeded; - (id)_createTileControllerWithIndexPath:(id)a0 kind:(id)a1 dataSource:(id)a2 tileSource:(id)a3; - (void)_updateIfNeeded; - (void)_invalidateReferencedCoordinateSystems; - (void)moveItemFromIndexPath:(id)a0 toIndexPath:(id)a1 dataSource:(id)a2; - (void)_updateLayoutCoordinateSystemIfNeeded; - (void)_updateScrollViewPropertiesIfNeeded; - (void)_updateTileControllersWithLayout:(id)a0 tileTransitionCoordinator:(id)a1; - (void)detachTileControllers:(id)a0; - (void)enumerateAllTileControllersUsingBlock:(id /* block */)a0; - (void)setBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_enumerateAllTileControllersUsingBlock:(id /* block */)a0; - (void)_adjustScrollViewPagingDeceleration; - (void)_updateLayoutVisibleRectIfNeeded; - (void)_applyPendingUpdates; - (void).cxx_destruct; - (id)dequeueTileControllerWithReuseIdentifier:(id)a0; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 layout:(id)a1; - (void)reloadItemAtIndexPath:(id)a0 dataSource:(id)a1; - (void)_invalidateTileControllersVisibleRect; - (id)hitTest:(struct CGPoint { double x0; double x1; })a0 withEvent:(id)a1; - (void)_registerDataSource:(id)a0; - (void)_invalidateLayout; - (void)_invalidateReferencedDataSources; - (void)_invalidateTileControllers; - (void)_invalidateScrollViewProperties; - (void)invalidateLayout:(id)a0 withContext:(id)a1; - (void)_invalidateLayoutVisibleRect; - (void)tileControllerDidEndAnimating:(id)a0; - (id)initWithCoder:(id)a0; - (void)_updateTileControllersIfNeeded; - (id)_dataSourceWithIdentifier:(id)a0; - (void)reattachTileControllers:(id)a0 withContext:(id)a1; @end