@class NSDate, UIView, CADisplayLink, NSArray, NSString, NSIndexPath, NSDictionary, UIFocusGuide, NSObject, UIPageControl, _TVCarouselCollectionView; @protocol TVCarouselViewDataSource, OS_dispatch_source, TVCarouselViewDelegate; @interface _TVCarouselView : UIView <UICollectionViewDataSource, UICollectionViewDelegate> { struct { unsigned char delegateWasNonNil : 1; unsigned char delegateShouldHighlightItemAtIndex : 1; unsigned char delegateDidHighlightItemAtIndex : 1; unsigned char delegateDidUnhighlightItemAtIndex : 1; unsigned char delegateShouldSelectItemAtIndex : 1; unsigned char delegateShouldDeselectItemAtIndex : 1; unsigned char delegateDidSelectItemAtIndex : 1; unsigned char delegateDidDeselectItemAtIndex : 1; unsigned char delegateWillDisplayCellForItemAtIndex : 1; unsigned char delegateDidEndDisplayingCellForItemAtIndex : 1; unsigned char delegateCarouselViewDidScroll : 1; unsigned char delegateDidFocusItemAtIndex : 1; unsigned char delegateDidPlayItemAtIndex : 1; unsigned char delegateWillDisplayItemAtIndex : 1; unsigned char delegateDidEndDisplayingItemAtIndex : 1; unsigned char delegateIndexForPreferredCenteredView : 1; unsigned char delegateDidCenterItemAtIndex : 1; } _carouselViewFlags; NSObject<OS_dispatch_source> *_autoScrollTimer; _TVCarouselCollectionView *_collectionView; unsigned long long _indexToDeque; NSIndexPath *_focusedIndexPath; unsigned long long _numberOfRealItemsForDataSource; double _originalSelectionDuration; double _originalUnselectionDuration; long long _numFocusChangesInInterval; NSDictionary *_previousCollectionToDatasourceIndexMap; struct { BOOL layoutUpdateInProgress; BOOL firstLayoutPass; } _flags; } @property (retain, nonatomic) NSDictionary *collectionToDatasourceIndexMap; @property (retain, nonatomic) UIFocusGuide *focusGuide; @property (retain, nonatomic) CADisplayLink *displayLink; @property (nonatomic) double previousDisplayLinkTimestamp; @property (nonatomic) struct CGPoint { double x; double y; } targetContentOffset; @property (nonatomic) double offsetChangePerSecond; @property (retain, nonatomic) NSDate *firstFocusChangeInInterval; @property (nonatomic) double showcaseFactor; @property (retain, nonatomic) UIPageControl *pageControl; @property (nonatomic) double focusThrottleTimeInterval; @property (weak, nonatomic) id<TVCarouselViewDataSource> dataSource; @property (weak, nonatomic) id<TVCarouselViewDelegate> delegate; @property (nonatomic) struct CGSize { double width; double height; } itemSize; @property (nonatomic) double interitemSpacing; @property (nonatomic) unsigned long long scrollMode; @property (nonatomic) double autoscrollInterval; @property (nonatomic) double unitScrollDuration; @property (readonly, copy, nonatomic) NSArray *visibleCells; @property (nonatomic) struct CGPoint { double x; double y; } focusDirection; @property (retain, nonatomic) UIView *headerView; @property (nonatomic) BOOL shouldScaleOnIdleFocus; @property (nonatomic) BOOL showsPageControl; @property (nonatomic) double pageControlMargin; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)collectionView:(id)a0 didDeselectItemAtIndexPath:(id)a1; - (void)collectionView:(id)a0 didUnhighlightItemAtIndexPath:(id)a1; - (void)collectionView:(id)a0 didSelectItemAtIndexPath:(id)a1; - (void)collectionView:(id)a0 didHighlightItemAtIndexPath:(id)a1; - (void)dealloc; - (void)displayLinkDidFire:(id)a0; - (id)_collectionView; - (void)reloadData; - (id)indexPathForPreferredFocusedViewInCollectionView:(id)a0; - (BOOL)collectionView:(id)a0 shouldHighlightItemAtIndexPath:(id)a1; - (id)preferredFocusedView; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)setSemanticContentAttribute:(long long)a0; - (void)_updateCollectionViewLayout; - (void)collectionView:(id)a0 willDisplayCell:(id)a1 forItemAtIndexPath:(id)a2; - (BOOL)collectionView:(id)a0 canFocusItemAtIndexPath:(id)a1; - (void)collectionView:(id)a0 didEndDisplayingCell:(id)a1 forItemAtIndexPath:(id)a2; - (void).cxx_destruct; - (BOOL)collectionView:(id)a0 shouldSelectItemAtIndexPath:(id)a1; - (void)didUpdateFocusInContext:(id)a0 withAnimationCoordinator:(id)a1; - (long long)collectionView:(id)a0 numberOfItemsInSection:(long long)a1; - (void)layoutSubviews; - (BOOL)shouldUpdateFocusInContext:(id)a0; - (void)_applicationDidBecomeActiveNotification:(id)a0; - (void)scrollViewDidScroll:(id)a0; - (id)collectionView:(id)a0 cellForItemAtIndexPath:(id)a1; - (void)didMoveToWindow; - (void)scrollViewWillEndDragging:(id)a0 withVelocity:(struct CGPoint { double x0; double x1; })a1 targetContentOffset:(inout struct CGPoint { double x0; double x1; } *)a2; - (BOOL)collectionView:(id)a0 shouldDeselectItemAtIndexPath:(id)a1; - (struct CGSize { double x0; double x1; })sizeThatFits:(struct CGSize { double x0; double x1; })a0; - (void)_pageControlValueChanged:(id)a0; - (id)focusedCell; - (void)registerClass:(Class)a0 forCellWithReuseIdentifier:(id)a1; - (void)registerNib:(id)a0 forCellWithReuseIdentifier:(id)a1; - (void)_applicationDidEnterBackgroundNotification:(id)a0; - (void)_updatePageControl; - (void)centerItemAtPageIndex:(long long)a0; - (id)dequeueReusableCellWithReuseIdentifier:(id)a0 forIndex:(unsigned long long)a1; - (unsigned long long)indexForCell:(id)a0; - (void)_updateIdleModeLayoutAttributes; - (BOOL)_canScrollCarouselView; - (id)_cellForItemAtIndex:(unsigned long long)a0; - (long long)_centerCollectionViewCellIndex; - (double)_contentOffsetXForCollectionViewIndex:(long long)a0; - (void)_handlePlayGesture:(id)a0; - (long long)_numberOfCells; - (id)_prepareIndexMap:(long long)a0; - (void)_setContentOffsetForCollectionViewIndex:(long long)a0; - (void)_startAutoScrollTimer; - (void)_startContinuousScroll; - (void)_stopAutoScrollTimer; - (void)_stopContinuousScroll; - (void)_updateAutoScrollTimer; - (void)_updateCollectionViewLayoutAnimated:(BOOL)a0; - (void)_updateContentOffsetForFocusedIndex:(long long)a0 animated:(BOOL)a1; - (void)setInteritemSpacing:(double)a0 animated:(BOOL)a1; - (void)tv_setShowcaseFactor:(double)a0; - (unsigned long long)_previousItemIndexForIndexPath:(id)a0; - (void)_accessibilityReducedMotionNotification:(id)a0; - (void)_animatePagedCenteringAnimated:(BOOL)a0 animations:(id /* block */)a1 completion:(id /* block */)a2; - (void)_centerItemAtPageIndex:(long long)a0 animated:(BOOL)a1; - (double)_centeringAnimationDuration; - (struct CGSize { double x0; double x1; })_collectionViewLayoutItemSize; - (void)_focusItemAtIndex:(long long)a0; - (unsigned long long)_itemIndexForIndexPath:(id)a0; - (void)_setContentOffsetForCollectionViewIndex:(long long)a0 animated:(BOOL)a1; - (void)_updateCarouselWithDataSource:(id)a0 indicesToRemove:(id)a1 indicesToAdd:(id)a2 indicesToReload:(id)a3; - (void)_updateContentForNewCenterIndex:(long long)a0; - (void)calculateChangeSetForFocusedIndex:(long long)a0 newDataSourceMap:(id)a1 indexesToRemove:(inout id *)a2 indexesToAdd:(inout id *)a3 indexesToReload:(inout id *)a4; @end