@class UICollectionView, AVTAvatarRecordDataSource, AVTZIndexEngagementListCollectionViewLayout, AVTCenteringCollectionViewDelegate, AVTRenderingScope, _AVTAvatarRecordImageProvider, AVTAvatarListCell, UIView, AVTCarouselPlusButtonView, AVTUIEnvironment, AVTTransitionCoordinator, NSString, AVTViewSession, NSArray, NSNumber; @protocol AVTAvatarListItem, AVTViewCarouselLayout, AVTPresenterDelegate, AVTAvatarDisplayingControllerDelegate, AVTUILogger, AVTAvatarRecord; @interface AVTMultiAvatarController : NSObject @property (retain, nonatomic) UIView *view; @property (retain, nonatomic) UICollectionView *collectionView; @property (retain, nonatomic) AVTZIndexEngagementListCollectionViewLayout *collectionViewLayout; @property (retain, nonatomic) AVTCenteringCollectionViewDelegate *centeringDelegate; @property (retain, nonatomic) NSArray *recordListItems; @property (retain, nonatomic) AVTViewSession *avtViewSession; @property (retain, nonatomic) AVTCarouselPlusButtonView *addItemView; @property (retain, nonatomic) id addListItem; @property (retain, nonatomic) id displayedRecord; @property (retain, nonatomic) AVTAvatarListCell *liveCell; @property (nonatomic) BOOL allowsCreate; @property (nonatomic) NSNumber *cachedCanCreateValue; @property (readonly, nonatomic) AVTTransitionCoordinator *transitionCoordinator; @property (readonly, nonatomic) AVTAvatarRecordDataSource *dataSource; @property (readonly, nonatomic) AVTUIEnvironment *environment; @property (readonly, nonatomic) id logger; @property (readonly, nonatomic) _AVTAvatarRecordImageProvider *thumbnailRenderer; @property (retain, nonatomic) id avtViewLayout; @property (nonatomic) struct CGPoint { double x; double y; } lastContentOffset; @property (nonatomic) BOOL hideImageForDisplayedRecord; @property (nonatomic) double decelerationRate; @property (readonly, nonatomic) AVTRenderingScope *renderingScope; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (weak, nonatomic) id delegate; @property (weak, nonatomic) id presenterDelegate; + (id)listItemsForAvatarRecords:(id)a0; + (id)newCollectionViewLayoutForEngagedCellSize:(struct CGSize { double x0; double x1; })a0 boundsSize:(struct CGSize { double x0; double x1; })a1 environment:(id)a2; + (id)snapshotProviderFocusedOnRecordWithIdentifier:(id)a0 size:(struct CGSize { double x0; double x1; })a1 avtViewAspectRatio:(struct CGSize { double x0; double x1; })a2 dataSource:(id)a3 environment:(id)a4; - (void)scrollViewDidEndDecelerating:(id)a0; - (void)collectionView:(id)a0 didSelectItemAtIndexPath:(id)a1; - (void)dealloc; - (void)reloadData; - (void)scrollViewDidEndDragging:(id)a0 willDecelerate:(BOOL)a1; - (void)scrollViewDidEndScrollingAnimation:(id)a0; - (void)collectionView:(id)a0 willDisplayCell:(id)a1 forItemAtIndexPath:(id)a2; - (void)loadView; - (void)collectionView:(id)a0 didEndDisplayingCell:(id)a1 forItemAtIndexPath:(id)a2; - (void).cxx_destruct; - (long long)collectionView:(id)a0 numberOfItemsInSection:(long long)a1; - (void)scrollViewDidScroll:(id)a0; - (id)collectionView:(id)a0 cellForItemAtIndexPath:(id)a1; - (BOOL)isViewLoaded; - (id)initWithDataSource:(id)a0 environment:(id)a1; - (id)indexPathForItemClosestToCenter; - (void)buildCollectionViewAndConfigureLayoutIfNeeded; - (id)cellForRecordItem:(id)a0; - (void)createAddItemViewIfNeeded; - (void)createAvatar; - (void)dataSource:(id)a0 didAddRecord:(id)a1 atIndex:(unsigned long long)a2; - (void)dataSource:(id)a0 didEditRecord:(id)a1 atIndex:(unsigned long long)a2; - (void)dataSource:(id)a0 didRemoveRecord:(id)a1 atIndex:(unsigned long long)a2; - (void)displayAvatarForRecord:(id)a0 animated:(BOOL)a1; - (id)getFirstItem; - (id)initWithDataSource:(id)a0 environment:(id)a1 initialAVTViewLayout:(id)a2; - (void)layoutDidChangeWhileMoving:(BOOL)a0 offset:(struct CGPoint { double x0; double x1; })a1; - (unsigned long long)listItemIndexForRecord:(id)a0; - (id)listItemsForDisplay; - (id)loadRecords; - (void)loadRecordsIfNeeded; - (void)notifyDelegateForScrollingTowardItem:(id)a0 ratio:(double)a1; - (void)notifyDelegateForScrollingTowardItemFromOffset:(struct CGPoint { double x0; double x1; })a0; - (void)notifyingContainerViewDidChangeSize:(struct CGSize { double x0; double x1; })a0; - (void)notifyingContainerViewWillChangeSize:(struct CGSize { double x0; double x1; })a0; - (void)preloadAll; - (void)prepareToTransitionToVisible:(BOOL)a0 completionHandler:(id /* block */ *)a1; - (void)prepareViewWithLayout:(id)a0; - (id)recordForItem:(id)a0; - (void)reloadRecordListItems; - (void)scrollToDisplayedRecord; - (void)scrollToViewAtIndex:(unsigned long long)a0 animated:(BOOL)a1; - (void)scrollToViewForAvatarRecord:(id)a0 animated:(BOOL)a1; - (void)setAllowsCreate:(BOOL)a0 animated:(BOOL)a1; - (void)setDisplayedRecordFromIndex:(unsigned long long)a0; - (BOOL)shouldCurrentlyDisplayedRecordTransitionToLive; - (void)significantRecordChangeInDataSource:(id)a0; - (void)snapshotInBlock:(id /* block */)a0; - (void)stopUsingAVTViewSessionSynchronously:(BOOL)a0 completionHandler:(id /* block */)a1; - (void)transitionCell:(id)a0 indexPath:(id)a1 toStartFocusingAnimated:(BOOL)a2 session:(id)a3 completionHandler:(id /* block */)a4; - (void)transitionCell:(id)a0 toStopFocusingAnimated:(BOOL)a1 completionHandler:(id /* block */)a2; - (void)transitionCenterCellIfPresentToStartFocusing; - (void)transitionCenterCellIfPresentToStopFocusingAnimated:(BOOL)a0; - (void)transitionCenterCellToStartFocusing:(id)a0 indexPath:(id)a1; - (void)transitionCurrentDisplayedRecordAnimated:(BOOL)a0; - (void)updateCachedCanCreateValueIfNeeded; - (void)updateDisplayedRecordIfNeeded; - (void)useAVTViewFromSession:(id)a0 withLayout:(id)a1; @end