@class PUScrollViewSpeedometer, NSIndexPath, NSMutableArray, NSString, NSMutableSet, PUAssetTransitionInfo, PUPhotosSharingCollectionViewLayout, PUPhotosSharingViewControllerSpec, PHAsset, NSMutableDictionary, PXPhotosDataSource, PHFetchResult, PUPhotoSelectionManager, PXAssetBadgeManager, NSObject, UICollectionView, UICollectionViewLayout, PUPhotosSharingTransitionContext, PHCachingImageManager, NSMapTable, UITapGestureRecognizer; @protocol OS_os_log, PUCarouselSharingViewControllerDelegate; @interface PUCarouselSharingViewController : UIViewController { PUScrollViewSpeedometer *_speedometer; NSMutableDictionary *_resultsForAssetCollection; NSMutableDictionary *_assetItemsByAssetIdentifier; NSMapTable *_indexPathsByOptionView; UITapGestureRecognizer *_tapGestureRecognizer; NSIndexPath *_inFlightReferenceIndexPath; BOOL _shouldScrollToSelection; BOOL _inFlightRotation; BOOL _shouldPlayVitalityHintAfterViewDidAppear; } @property (retain, nonatomic) PUPhotosSharingViewControllerSpec *spec; @property (retain, nonatomic, setter=_setMainCollectionView:) UICollectionView *mainCollectionView; @property (retain, nonatomic, setter=_setMainCollectionViewLayout:) PUPhotosSharingCollectionViewLayout *mainCollectionViewLayout; @property (nonatomic, getter=_isViewInSyncWithModel, setter=_setViewInSyncWithModel:) BOOL _viewInSyncWithModel; @property (retain, nonatomic) PUPhotoSelectionManager *photoSelectionManager; @property (readonly, nonatomic) PHCachingImageManager *cachingImageManager; @property (nonatomic, setter=_setPreviousPreheatRect:) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _previousPreheatRect; @property (retain, nonatomic, setter=_setPreheatedAssets:) NSMutableSet *_preheatedAssets; @property (retain, nonatomic, setter=_setTransitionLayout:) UICollectionViewLayout *_transitionLayout; @property (retain, nonatomic) PUPhotosSharingTransitionContext *photosSharingTransitionContext; @property (retain, nonatomic) PUAssetTransitionInfo *assetTransitionInfo; @property (retain, nonatomic) PUAssetTransitionInfo *leadingAssetTransitionInfo; @property (retain, nonatomic) PUAssetTransitionInfo *trailingAssetTransitionInfo; @property (retain, nonatomic, setter=_setLastKnownReferenceAsset:) PHAsset *_lastKnownReferenceAsset; @property (retain, nonatomic, setter=_setLastKnownReferenceIndexPath:) NSIndexPath *_lastKnownReferenceIndexPath; @property (nonatomic, getter=_isLoopingPlaybackAllowed, setter=_setLoopingPlaybackAllowed:) BOOL _loopingPlaybackAllowed; @property (readonly, nonatomic) PXAssetBadgeManager *_badgeManager; @property (copy, nonatomic, setter=_pptSetOnDidEndScrollingBlock:) id /* block */ _pptOnDidEndScrollingBlock; @property (readonly, nonatomic) NSObject *sharingLog; @property (readonly, nonatomic) NSMutableArray *_photoViewLoaderBlocks; @property (readonly, nonatomic) NSMutableArray *_livePhotoViewLoaderBlocks; @property (retain, nonatomic) PXPhotosDataSource *photosDataSource; @property (retain, nonatomic) NSMutableSet *analyticsEventsSent; @property (readonly, nonatomic) PHFetchResult *photoCollectionsFetchResult; @property (weak, nonatomic) id delegate; @property (readonly, nonatomic) PHAsset *currentAsset; @property (readonly, nonatomic) NSString *localizedSelectionTitle; @property (nonatomic, getter=isReadyForInteraction) BOOL readyForInteraction; @property (nonatomic) BOOL sendAsAssetBundles; @property (nonatomic) BOOL sendAsUnmodifiedOriginals; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) PHFetchResult *assetCollectionsFetchResult; - (void)scrollViewDidEndDecelerating:(id)a0; - (id)currentIndexPath; - (void)viewWillAppear:(BOOL)a0; - (void)dealloc; - (void)collectionView:(id)a0 didEndDisplayingSupplementaryView:(id)a1 forElementOfKind:(id)a2 atIndexPath:(id)a3; - (id)assetsInAssetCollection:(id)a0; - (void)photoLibraryDidChangeOnMainQueue:(id)a0; - (void)viewWillLayoutSubviews; - (BOOL)gestureRecognizer:(id)a0 shouldReceiveTouch:(id)a1; - (void)viewDidLayoutSubviews; - (void)viewDidLoad; - (void)scrollViewDidEndDragging:(id)a0 willDecelerate:(BOOL)a1; - (void)scrollViewDidEndScrollingAnimation:(id)a0; - (BOOL)gestureRecognizerShouldBegin:(id)a0; - (void)viewWillDisappear:(BOOL)a0; - (void)collectionView:(id)a0 didEndDisplayingCell:(id)a1 forItemAtIndexPath:(id)a2; - (void).cxx_destruct; - (BOOL)prepareForDismissingForced:(BOOL)a0; - (BOOL)collectionView:(id)a0 shouldSelectItemAtIndexPath:(id)a1; - (void)viewDidAppear:(BOOL)a0; - (long long)collectionView:(id)a0 numberOfItemsInSection:(long long)a1; - (long long)numberOfSectionsInCollectionView:(id)a0; - (void)viewWillTransitionToSize:(struct CGSize { double x0; double x1; })a0 withTransitionCoordinator:(id)a1; - (id)prepareForPhotoLibraryChange:(id)a0; - (void)scrollViewDidScroll:(id)a0; - (id)collectionView:(id)a0 viewForSupplementaryElementOfKind:(id)a1 atIndexPath:(id)a2; - (id)collectionView:(id)a0 cellForItemAtIndexPath:(id)a1; - (void)scrollViewWillBeginDragging:(id)a0; - (void)scrollViewWillEndDragging:(id)a0 withVelocity:(struct CGPoint { double x0; double x1; })a1 targetContentOffset:(inout struct CGPoint { double x0; double x1; } *)a2; - (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1; - (long long)_numberOfSections; - (void)deselectItemAtIndexPath:(id)a0; - (void)selectItemAtIndexPath:(id)a0; - (long long)_numberOfItemsInSection:(long long)a0; - (id)ppt_scrollView; - (void)_updateCell:(id)a0 forItemAtIndexPath:(id)a1; - (void)_handleTapInMainCollectionView:(id)a0; - (void)ppt_faultInScollViewContentSize; - (id)_activityAssetItemForAsset:(id)a0 createIfNecessary:(BOOL)a1; - (void)_addActivityAssetItem:(id)a0; - (void)_arrowKey:(id)a0; - (id)_assetAtIndexPath:(id)a0; - (id)_badgeTransitionInfosForCell:(id)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_collectionViewContentFrame; - (id)_firstSelectedIndexPath; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_frameAtIndexPath:(id)a0 inView:(id)a1; - (void)_getFirstValidIndexPath:(id *)a0 lastValidIndexPath:(id *)a1; - (void)_getMainCollectionViewFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a0 collectionViewLayoutInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; } *)a1; - (void)_handleAnimatedImageResult:(id)a0 forCell:(id)a1 asset:(id)a2 tag:(long long)a3; - (void)_handleLivePhotoRequestResult:(id)a0 forCell:(id)a1 tag:(long long)a2; - (void)_handleLoopingVideoRequestResult:(id)a0 forCell:(id)a1 asset:(id)a2 tag:(long long)a3; - (void)_handlePhotoViewLoaderBlocks; - (void)_handleSchedulingLivePhotoRequestResult:(id)a0 forCell:(id)a1 tag:(long long)a2; - (void)_handleSchedulingStillPhotoRequestResult:(id)a0 forCell:(id)a1 tag:(long long)a2; - (void)_handleSelectionOption:(id)a0; - (void)_handleStillImageRequestResult:(id)a0 info:(id)a1 forCell:(id)a2 indexPath:(id)a3; - (void)_handleStillPhotoRequestResult:(id)a0 forCell:(id)a1 tag:(long long)a2; - (void)_handleTapAtIndexPath:(id)a0; - (double)_horizontalOffsetInCollectionView:(id)a0 forCenteringOnItemAtIndexPath:(id)a1; - (unsigned long long)_indexForPhotoCollection:(id)a0; - (id)_indexPathInCollectionView:(id)a0 closestToContentOffsetX:(double)a1; - (id)_indexPathInCollectionView:(id)a0 closestToPoint:(struct CGPoint { double x0; double x1; })a1; - (id)_indexPathOfAsset:(id)a0 sectionHint:(long long)a1; - (id)_indexPathOfCenterVisibleItemInCollectionView:(id)a0; - (BOOL)_isAnyAssetSelected; - (id)_optionViewAtIndexPath:(id)a0 forCollectionView:(id)a1; - (void)_pageToIndexPath:(id)a0 animated:(BOOL)a1; - (id)_photoCollectionAtIndex:(long long)a0; - (void)_playLivePhotoHintIfNeededAtIndexPath:(id)a0; - (void)_playVitalityHintAfterViewDidAppear; - (void)_processCollectionListChangeNotifications:(id)a0 singleCollectionNotifications:(id)a1 needsReloadData:(BOOL)a2; - (void)_removeActivityAssetItem:(id)a0; - (void)_replaceActivityAssetItem:(id)a0 withAssetItem:(id)a1 notifyDelegate:(BOOL)a2; - (void)_resetPreheating; - (id)_selectionViewAtIndexPath:(id)a0 forCollectionView:(id)a1; - (void)_setLastKnownReferenceAsset:(id)a0 indexPath:(id)a1; - (void)_setSelected:(BOOL)a0 atIndexPath:(id)a1 animated:(BOOL)a2; - (BOOL)_shouldShowAsset:(id)a0; - (struct CGSize { double x0; double x1; })_sizeForItemAtIndexPath:(id)a0; - (void)_updateAdditionalContentForAsset:(id)a0 cell:(id)a1; - (void)_updateAdditionalContentForVisibleCells; - (void)_updateAssetTransitionInfo:(id)a0; - (void)_updateCellAtIndexPath:(id)a0 withTransitionInfo:(id)a1; - (void)_updateInterfaceForModelReloadAnimated:(BOOL)a0; - (void)_updateLastKnownReferenceIndexPath; - (void)_updateMainViewAnimated:(BOOL)a0; - (void)_updateOptionView:(id)a0 atIndexPath:(id)a1; - (void)_updatePhotoForAsset:(id)a0 cell:(id)a1 atIndexPath:(id)a2; - (void)_updatePreheatedAssets; - (void)_updateVisibleCellBadges; - (void)_updateVisibleCells; - (id)_updatedActivityAssetItemsForAssets:(id)a0; - (id)_validIndexPathFromIndexPath:(id)a0; - (id)adjacentVisibleAssetsTransitionInfos; - (id)currentActivityAssetItems; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })frameForBadgeOfKind:(id)a0 forItemFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 atIndexPath:(id)a2; - (id)initWithPhotoCollectionsFetchResult:(id)a0 assetsFetchResultsByAssetCollection:(id)a1 selection:(id)a2; - (BOOL)isItemAtIndexPathSelected:(id)a0; - (double)layout:(id)a0 collectionView:(id)a1 bottomBadgeInsetforItemAtIndexPath:(id)a2; - (void)layout:(id)a0 collectionView:(id)a1 itemAtIndexPath:(id)a2 didChangeToVisibleFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a3; - (id)layout:(id)a0 collectionView:(id)a1 referenceIndexPathWithOffsetX:(double *)a2; - (struct CGSize { double x0; double x1; })layout:(id)a0 collectionView:(id)a1 sizeForBadgeViewOfKind:(id)a2 forItemAtIndexPath:(id)a3; - (struct CGSize { double x0; double x1; })layout:(id)a0 collectionView:(id)a1 sizeForItemAtIndexPath:(id)a2; - (void)oneUpAssetTransition:(id)a0 requestTransitionContextWithCompletion:(id /* block */)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })oneUpAssetTransitionAssetFinalFrame:(id)a0; - (void)photoViewContentHelper:(id)a0 livePhotoWillBeginPlaybackWithStyle:(long long)a1; - (BOOL)ppt_scrollToAssetAtRelativeIndex:(long long)a0 completion:(id /* block */)a1; - (id)referenceAssetTransitionInfo; - (void)scrollViewSpeedometer:(id)a0 regimeDidChange:(long long)a1 from:(long long)a2; - (void)setHideCellForCurrentReferenceAsset:(BOOL)a0; - (void)setOneUpPhotosSharingTransitionContext:(id)a0; - (void)setOneUpPhotosSharingTransitionInfo:(id)a0; - (void)setPhotosSharingTransitionLayout:(id)a0 animated:(BOOL)a1; - (id)transitionCollectionView; @end