/*
* This header is generated by classdump-dyld 1.0
* on Sunday, June 7, 2020 at 11:42:31 AM Mountain Standard Time
* Operating System: Version 13.4.5 (Build 17L562)
* Image Source: /System/Library/Frameworks/TVUIKit.framework/TVUIKit
* classdump-dyld is licensed under GPLv3, Copyright © 2013-2016 by Elias Limneos.
*/

#import <TVUIKit/TVUIKit-Structs.h>
#import <UIKitCore/UIView.h>
#import <TVUIKit/TVRowHosting.h>
#import <UIKit/UICollectionViewDataSource.h>
#import <UIKit/UICollectionViewDelegate.h>

@protocol OS_dispatch_source, TVCarouselViewDataSource, TVCarouselViewDelegate;
@class NSObject, _TVCarouselCollectionView, NSIndexPath, NSDictionary, UIView, UIFocusGuide, CADisplayLink, NSDate, UIPageControl, NSString, NSArray;

@interface _TVCarouselView : UIView <TVRowHosting, UICollectionViewDataSource, UICollectionViewDelegate> {

	struct {
		unsigned delegateWasNonNil : 1;
		unsigned delegateShouldHighlightItemAtIndex : 1;
		unsigned delegateDidHighlightItemAtIndex : 1;
		unsigned delegateDidUnhighlightItemAtIndex : 1;
		unsigned delegateShouldSelectItemAtIndex : 1;
		unsigned delegateShouldDeselectItemAtIndex : 1;
		unsigned delegateDidSelectItemAtIndex : 1;
		unsigned delegateDidDeselectItemAtIndex : 1;
		unsigned delegateWillDisplayCellForItemAtIndex : 1;
		unsigned delegateDidEndDisplayingCellForItemAtIndex : 1;
		unsigned delegateCarouselViewDidScroll : 1;
		unsigned delegateDidFocusItemAtIndex : 1;
		unsigned delegateDidPlayItemAtIndex : 1;
		unsigned delegateWillDisplayItemAtIndex : 1;
		unsigned delegateDidEndDisplayingItemAtIndex : 1;
		unsigned 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;
	BOOL _shouldScaleOnIdleFocus;
	BOOL _showsPageControl;
	id<TVCarouselViewDataSource> _dataSource;
	id<TVCarouselViewDelegate> _delegate;
	double _interitemSpacing;
	unsigned long long _scrollMode;
	double _autoscrollInterval;
	double _unitScrollDuration;
	UIView* _headerView;
	double _showcaseFactor;
	double _pageControlMargin;
	NSDictionary* _collectionToDatasourceIndexMap;
	UIFocusGuide* _focusGuide;
	CADisplayLink* _displayLink;
	double _previousDisplayLinkTimestamp;
	double _offsetChangePerSecond;
	NSDate* _firstFocusChangeInInterval;
	UIPageControl* _pageControl;
	double _focusThrottleTimeInterval;
	CGSize _itemSize;
	CGPoint _focusDirection;
	CGPoint _targetContentOffset;

}

@property (readonly) unsigned long long hash; 
@property (readonly) Class superclass; 
@property (copy,readonly) NSString * description; 
@property (copy,readonly) NSString * debugDescription; 
@property (nonatomic,readonly) BOOL shouldBindRowsTogether; 
@property (nonatomic,retain) NSDictionary * collectionToDatasourceIndexMap;               //@synthesize collectionToDatasourceIndexMap=_collectionToDatasourceIndexMap - In the implementation block
@property (nonatomic,retain) UIFocusGuide * focusGuide;                                   //@synthesize focusGuide=_focusGuide - In the implementation block
@property (nonatomic,retain) CADisplayLink * displayLink;                                 //@synthesize displayLink=_displayLink - In the implementation block
@property (assign,nonatomic) double previousDisplayLinkTimestamp;                         //@synthesize previousDisplayLinkTimestamp=_previousDisplayLinkTimestamp - In the implementation block
@property (assign,nonatomic) CGPoint targetContentOffset;                                 //@synthesize targetContentOffset=_targetContentOffset - In the implementation block
@property (assign,nonatomic) double offsetChangePerSecond;                                //@synthesize offsetChangePerSecond=_offsetChangePerSecond - In the implementation block
@property (nonatomic,retain) NSDate * firstFocusChangeInInterval;                         //@synthesize firstFocusChangeInInterval=_firstFocusChangeInInterval - In the implementation block
@property (assign,nonatomic) double showcaseFactor;                                       //@synthesize showcaseFactor=_showcaseFactor - In the implementation block
@property (nonatomic,retain) UIPageControl * pageControl;                                 //@synthesize pageControl=_pageControl - In the implementation block
@property (assign,nonatomic) double focusThrottleTimeInterval;                            //@synthesize focusThrottleTimeInterval=_focusThrottleTimeInterval - In the implementation block
@property (assign,nonatomic,__weak) id<TVCarouselViewDataSource> dataSource;              //@synthesize dataSource=_dataSource - In the implementation block
@property (assign,nonatomic,__weak) id<TVCarouselViewDelegate> delegate;                  //@synthesize delegate=_delegate - In the implementation block
@property (assign,nonatomic) CGSize itemSize;                                             //@synthesize itemSize=_itemSize - In the implementation block
@property (assign,nonatomic) double interitemSpacing;                                     //@synthesize interitemSpacing=_interitemSpacing - In the implementation block
@property (assign,nonatomic) unsigned long long scrollMode;                               //@synthesize scrollMode=_scrollMode - In the implementation block
@property (assign,nonatomic) double autoscrollInterval;                                   //@synthesize autoscrollInterval=_autoscrollInterval - In the implementation block
@property (assign,nonatomic) double unitScrollDuration;                                   //@synthesize unitScrollDuration=_unitScrollDuration - In the implementation block
@property (nonatomic,copy,readonly) NSArray * visibleCells; 
@property (assign,nonatomic) CGPoint focusDirection;                                      //@synthesize focusDirection=_focusDirection - In the implementation block
@property (nonatomic,retain) UIView * headerView;                                         //@synthesize headerView=_headerView - In the implementation block
@property (assign,nonatomic) BOOL shouldScaleOnIdleFocus;                                 //@synthesize shouldScaleOnIdleFocus=_shouldScaleOnIdleFocus - In the implementation block
@property (assign,nonatomic) BOOL showsPageControl;                                       //@synthesize showsPageControl=_showsPageControl - In the implementation block
@property (assign,nonatomic) double pageControlMargin;                                    //@synthesize pageControlMargin=_pageControlMargin - In the implementation block
-(id)rowMetricsForExpectedWidth:(double)arg1 firstItemRowIndex:(long long*)arg2 ;
-(void)dealloc;
-(id<TVCarouselViewDelegate>)delegate;
-(void)setDelegate:(id<TVCarouselViewDelegate>)arg1 ;
-(unsigned long long)scrollMode;
-(void)setScrollMode:(unsigned long long)arg1 ;
-(id<TVCarouselViewDataSource>)dataSource;
-(void)setDataSource:(id<TVCarouselViewDataSource>)arg1 ;
-(void)reloadData;
-(id)initWithFrame:(CGRect)arg1 ;
-(void)scrollViewDidScroll:(id)arg1 ;
-(CGSize)sizeThatFits:(CGSize)arg1 ;
-(CADisplayLink *)displayLink;
-(void)setDisplayLink:(CADisplayLink *)arg1 ;
-(void)layoutSubviews;
-(NSArray *)visibleCells;
-(UIView *)headerView;
-(void)registerClass:(Class)arg1 forCellWithReuseIdentifier:(id)arg2 ;
-(void)collectionView:(id)arg1 didSelectItemAtIndexPath:(id)arg2 ;
-(void)didMoveToWindow;
-(void)setItemSize:(CGSize)arg1 ;
-(UIPageControl *)pageControl;
-(void)setPageControl:(UIPageControl *)arg1 ;
-(BOOL)collectionView:(id)arg1 shouldHighlightItemAtIndexPath:(id)arg2 ;
-(void)collectionView:(id)arg1 didHighlightItemAtIndexPath:(id)arg2 ;
-(void)collectionView:(id)arg1 didUnhighlightItemAtIndexPath:(id)arg2 ;
-(BOOL)collectionView:(id)arg1 shouldSelectItemAtIndexPath:(id)arg2 ;
-(BOOL)collectionView:(id)arg1 shouldDeselectItemAtIndexPath:(id)arg2 ;
-(void)collectionView:(id)arg1 didDeselectItemAtIndexPath:(id)arg2 ;
-(void)collectionView:(id)arg1 willDisplayCell:(id)arg2 forItemAtIndexPath:(id)arg3 ;
-(void)collectionView:(id)arg1 didEndDisplayingCell:(id)arg2 forItemAtIndexPath:(id)arg3 ;
-(BOOL)collectionView:(id)arg1 canFocusItemAtIndexPath:(id)arg2 ;
-(void)collectionView:(id)arg1 didUpdateFocusInContext:(id)arg2 withAnimationCoordinator:(id)arg3 ;
-(id)indexPathForPreferredFocusedViewInCollectionView:(id)arg1 ;
-(long long)collectionView:(id)arg1 numberOfItemsInSection:(long long)arg2 ;
-(id)collectionView:(id)arg1 cellForItemAtIndexPath:(id)arg2 ;
-(id)_collectionView;
-(CGSize)itemSize;
-(void)setHeaderView:(UIView *)arg1 ;
-(void)setSemanticContentAttribute:(long long)arg1 ;
-(void)didUpdateFocusInContext:(id)arg1 withAnimationCoordinator:(id)arg2 ;
-(BOOL)shouldUpdateFocusInContext:(id)arg1 ;
-(id)preferredFocusedView;
-(double)interitemSpacing;
-(void)setInteritemSpacing:(double)arg1 ;
-(void)_applicationDidEnterBackgroundNotification:(id)arg1 ;
-(void)_updateCollectionViewLayout;
-(void)_applicationDidBecomeActiveNotification:(id)arg1 ;
-(void)setTargetContentOffset:(CGPoint)arg1 ;
-(CGPoint)targetContentOffset;
-(void)registerNib:(id)arg1 forCellWithReuseIdentifier:(id)arg2 ;
-(long long)_numberOfCells;
-(double)showcaseFactor;
-(void)setAutoscrollInterval:(double)arg1 ;
-(id)dequeueReusableCellWithReuseIdentifier:(id)arg1 forIndex:(unsigned long long)arg2 ;
-(id)focusedCell;
-(unsigned long long)indexForCell:(id)arg1 ;
-(void)centerItemAtPageIndex:(long long)arg1 ;
-(BOOL)showsPageControl;
-(void)setShowsPageControl:(BOOL)arg1 ;
-(void)setPageControlMargin:(double)arg1 ;
-(void)setShouldScaleOnIdleFocus:(BOOL)arg1 ;
-(CGPoint)focusDirection;
-(void)setFocusDirection:(CGPoint)arg1 ;
-(void)tv_setShowcaseFactor:(double)arg1 ;
-(void)setShowcaseFactor:(double)arg1 ;
-(void)_handlePlayGesture:(id)arg1 ;
-(long long)_centerCollectionViewCellIndex;
-(void)_setContentOffsetForCollectionViewIndex:(long long)arg1 ;
-(double)_contentOffsetXForCollectionViewIndex:(long long)arg1 ;
-(void)setOffsetChangePerSecond:(double)arg1 ;
-(void)setPreviousDisplayLinkTimestamp:(double)arg1 ;
-(void)_stopContinuousScroll;
-(void)displayLinkDidFire:(id)arg1 ;
-(double)previousDisplayLinkTimestamp;
-(BOOL)_canScrollCarouselView;
-(double)offsetChangePerSecond;
-(id)_prepareIndexMap:(long long)arg1 ;
-(void)_updateAutoScrollTimer;
-(void)_updateIdleModeLayoutAttributes;
-(NSDictionary *)collectionToDatasourceIndexMap;
-(void)_updateContentOffsetForFocusedIndex:(long long)arg1 animated:(BOOL)arg2 ;
-(id)_cellForItemAtIndex:(unsigned long long)arg1 ;
-(void)setInteritemSpacing:(double)arg1 animated:(BOOL)arg2 ;
-(void)_updateCollectionViewLayoutAnimated:(BOOL)arg1 ;
-(void)_startAutoScrollTimer;
-(void)_startContinuousScroll;
-(void)_stopAutoScrollTimer;
-(void)setCollectionToDatasourceIndexMap:(NSDictionary *)arg1 ;
-(NSDate *)firstFocusChangeInInterval;
-(void)setFirstFocusChangeInInterval:(NSDate *)arg1 ;
-(void)setFocusThrottleTimeInterval:(double)arg1 ;
-(void)_updateContentForNewCenterIndex:(long long)arg1 ;
-(double)_centeringAnimationDuration;
-(CGSize)_collectionViewLayoutItemSize;
-(void)_animatePagedCenteringAnimated:(BOOL)arg1 animations:(/*^block*/id)arg2 completion:(/*^block*/id)arg3 ;
-(void)_accessibilityReducedMotionNotification:(id)arg1 ;
-(void)_updatePageControl;
-(void)_focusItemAtIndex:(long long)arg1 ;
-(unsigned long long)_itemIndexForIndexPath:(id)arg1 ;
-(unsigned long long)_previousItemIndexForIndexPath:(id)arg1 ;
-(void)calculateChangeSetForFocusedIndex:(long long)arg1 newDataSourceMap:(id)arg2 indexesToRemove:(inout id*)arg3 indexesToAdd:(inout id*)arg4 indexesToReload:(inout id*)arg5 ;
-(void)_updateCarouselWithDataSource:(id)arg1 indicesToRemove:(id)arg2 indicesToAdd:(id)arg3 indicesToReload:(id)arg4 ;
-(void)_setContentOffsetForCollectionViewIndex:(long long)arg1 animated:(BOOL)arg2 ;
-(BOOL)shouldScaleOnIdleFocus;
-(double)pageControlMargin;
-(void)setUnitScrollDuration:(double)arg1 ;
-(double)autoscrollInterval;
-(double)unitScrollDuration;
-(UIFocusGuide *)focusGuide;
-(void)setFocusGuide:(UIFocusGuide *)arg1 ;
-(double)focusThrottleTimeInterval;
@end

