@class NSHashTable, PXCuratedLibraryAssetCollectionSkimmingInfo, PXLibraryFilterState, PXBannerViewConfiguration, PXCuratedLibraryStyleGuide, PXAssetReference, PXScrollViewSpeedometer, NSString, NSMutableSet, PXZoomablePhotosViewModel, NSArray, PXAssetsDataSource, PXSharedLibraryStatusProvider, PHPhotoLibrary, PXCuratedLibraryAssetsDataSourceManager, PXCPLUIStatusProvider, PXContentFilterState, NSSet, PXUpdater, PXSelectionSnapshot, PXCuratedLibraryLayoutSpecManager, PXSharedLibraryCameraSharingBannerStatusProvider, PXCuratedLibraryVideoPlaybackController, PXSharedLibrarySharingSuggestionsCountsManager, PXAssetActionManager, PXSectionedSelectionManager, PXCuratedLibraryAnalysisStatus, PXCuratedLibraryActionManager, PXAssetCollectionActionManager, NSNumber; @protocol PXCuratedLibraryViewModelPresenter, NSObject; @interface PXCuratedLibraryViewModel : PXObservable <PXMutablePhotosLibraryViewModel, PXCuratedLibraryAssetsDataSourceManagerDelegate, PXSectionedSelectionManagerSnapshotValidator, PXChangeObserver, PXAssetsDataSourceManagerObserver, PXSettingsKeyObserver> { NSHashTable *_presenters; NSHashTable *_views; NSMutableSet *_visibleAssetCollections; PXCPLUIStatusProvider *_cplUIStatusProvider; long long _pendingChromeVisibilityChangeReason; id<NSObject> _filterTimeoutObserver; } @property (readonly, nonatomic) BOOL isPerformingInitialChanges; @property (readonly, nonatomic) PXUpdater *updater; @property (retain, nonatomic) PXAssetsDataSource *currentDataSource; @property (retain, nonatomic) PXScrollViewSpeedometer *scrollingSpeedometer; @property (readonly, nonatomic) id<PXCuratedLibraryViewModelPresenter> mainPresenter; @property (retain, nonatomic) PXAssetActionManager *assetActionManager; @property (retain, nonatomic) PXAssetCollectionActionManager *assetCollectionActionManager; @property (nonatomic) BOOL wantsNavigationBarVisible; @property (nonatomic) BOOL wantsTabBarVisible; @property (nonatomic) BOOL wantsToolbarVisible; @property (nonatomic) BOOL wantsSecondaryToolbarVisible; @property (retain, nonatomic) PXBannerViewConfiguration *bannerViewConfiguration; @property (nonatomic) long long scrollRegime; @property (nonatomic) struct CGPoint { double x; double y; } lastScrollDirection; @property (readonly, nonatomic) PXSharedLibrarySharingSuggestionsCountsManager *sharedLibrarySuggestionCountsManager; @property (readonly, nonatomic) PXSharedLibraryCameraSharingBannerStatusProvider *sharedLibraryCameraSharingBannerStatusProvider; @property (copy, nonatomic) PXContentFilterState *allPhotosContentFilterState; @property (readonly, nonatomic) PHPhotoLibrary *photoLibrary; @property (readonly, nonatomic) PXCuratedLibraryLayoutSpecManager *specManager; @property (readonly, nonatomic) PXCuratedLibraryStyleGuide *styleGuide; @property (readonly, nonatomic) PXCuratedLibraryAssetsDataSourceManager *assetsDataSourceManager; @property (readonly, nonatomic) PXCuratedLibraryVideoPlaybackController *videoPlaybackController; @property (readonly, nonatomic) PXCuratedLibraryActionManager *actionManager; @property (readonly, nonatomic) NSArray *presenters; @property (readonly, nonatomic) NSArray *views; @property (readonly, nonatomic) NSSet *visibleAssetCollections; @property (readonly, nonatomic) NSSet *allowedActions; @property (readonly, nonatomic) BOOL isAppearing; @property (readonly, nonatomic) long long zoomLevelTransitionPhase; @property (readonly, nonatomic) BOOL wantsOptionalChromeVisible; @property (readonly, nonatomic) long long lastChromeVisibilityChangeReason; @property (readonly, nonatomic) BOOL wantsDarkStatusBar; @property (readonly, nonatomic) BOOL viewBasedDecorationsEnabled; @property (readonly, nonatomic) BOOL isSelecting; @property (readonly, nonatomic) PXSelectionSnapshot *selectionSnapshot; @property (readonly, nonatomic) PXSectionedSelectionManager *selectionManager; @property (readonly, nonatomic) double daysMarginScale; @property (readonly, nonatomic) PXZoomablePhotosViewModel *zoomablePhotosViewModel; @property (readonly, nonatomic) PXCuratedLibraryAssetCollectionSkimmingInfo *skimmingInfo; @property (readonly, nonatomic) NSSet *draggedAssetReferences; @property (readonly, nonatomic) PXAssetReference *singleSelectedAssetReference; @property (readonly, nonatomic) unsigned long long libraryState; @property (readonly, nonatomic) NSString *selectModeCaption; @property (readonly, nonatomic) long long zoomLevel; @property (readonly, nonatomic) PXLibraryFilterState *libraryFilterState; @property (readonly, nonatomic) PXContentFilterState *currentContentFilterState; @property (readonly, nonatomic) struct { unsigned long long count; long long type; } selectedAssetsTypedCount; @property (readonly, nonatomic) PXCuratedLibraryAnalysisStatus *analysisStatus; @property (readonly, nonatomic) PXCPLUIStatusProvider *cplUIStatusProvider; @property (readonly, nonatomic) Class cplActionManagerClass; @property (readonly, nonatomic) BOOL sidebarCanBecomeVisible; @property (readonly, nonatomic) BOOL wantsSidebarVisible; @property (readonly, nonatomic) BOOL aspectFitContent; @property (readonly, copy, nonatomic) NSNumber *userWantsAspectFitContent; @property (readonly, nonatomic) BOOL hideStatusFooterInSelectMode; @property (readonly, nonatomic) PXSharedLibraryStatusProvider *sharedLibraryStatusProvider; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)addPresenter:(id)a0; - (void)_updateUserWantsAspectFitContent; - (void)setIsAppearing:(BOOL)a0; - (void)assetsDataSourceManagerDidFinishBackgroundFetching:(id)a0; - (void)performChanges:(id /* block */)a0; - (void)setViewBasedDecorationsEnabled:(BOOL)a0; - (void)setWantsOptionalChromeVisible:(BOOL)a0 changeReason:(long long)a1; - (void)setLibraryState:(unsigned long long)a0; - (id)init; - (void)setWantsOptionalChromeVisible:(BOOL)a0; - (void)_handleSpecChange; - (BOOL)selectionManagerShouldAvoidEmptySelection:(id)a0; - (void)setSelectModeCaption:(id)a0; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (void)dealloc; - (void)_invalidateZoomablePhotosViewModel; - (id)visibleAssetCollectionsFromCuratedLibraryAssetsDataSourceManager:(id)a0; - (void)_invalidateAllowedActions; - (void)_updateScrollingSpeedometer; - (void)performInitialChanges:(id /* block */)a0; - (void)setAllowedActions:(id)a0; - (void)_invalidateBannerViewConfiguration; - (id)initWithPhotoLibrary:(id)a0 zoomLevel:(long long)a1 mediaProvider:(id)a2 specManager:(id)a3 styleGuide:(id)a4; - (void)didPerformChanges; - (void)userDidSetAllPhotosContentFilterState:(id)a0; - (void)_invalidateAspectFitContent; - (void)setIsSelecting:(BOOL)a0; - (void)_invalidateAssetActionManager; - (void)_invalidateScrollingSpeedometer; - (void)curatedLibraryAssetsDataSourceManager:(id)a0 willTransitionFromZoomLevel:(long long)a1 toZoomLevel:(long long)a2; - (void)_updateAspectFitContent; - (void)_handleIsSelectingChange; - (id)mutableChangeObject; - (void)_updateCurrentDataSource; - (void)_updateSelectModeCaption; - (void)setSidebarCanBecomeVisible:(BOOL)a0; - (void)setUserWantsAspectFitContent:(id)a0; - (void)_setNeedsUpdate; - (void)_invalidateDraggedAssetReferences; - (void)_invalidateCurrentContentFilterState; - (void)setDraggedAssetReferences:(id)a0; - (void)_invalidateChromeVisibilityWithChangeReason:(long long)a0; - (void)_updateZoomablePhotosViewModel; - (void)_updateDraggedAssetReferences; - (void)toggleSelectionForAssetReference:(id)a0 updateCursorIndexPath:(BOOL)a1; - (void)_updateScrollingProperties; - (id)initWithAssetsDataSourceManagerConfiguration:(id)a0 zoomLevel:(long long)a1 mediaProvider:(id)a2 specManager:(id)a3 styleGuide:(id)a4; - (void)_handleSelectionManagerChange:(unsigned long long)a0; - (void)_updateAssetsDataSourceManager; - (void)setAspectFitContent:(BOOL)a0; - (BOOL)isSelectingAssetsFromCuratedLibraryAssetsDataSourceManager:(id)a0; - (void)_invalidateScrollingProperties; - (void)settings:(id)a0 changedValueForKey:(id)a1; - (void)addView:(id)a0; - (void)toggleSelectionForAssetCollectionReference:(id)a0; - (id)selectionManager:(id)a0 validateSnapshot:(id)a1; - (long long)curatedLibraryAssetsDataSourceManager:(id)a0 transitionTypeFromZoomLevel:(long long)a1 toZoomLevel:(long long)a2; - (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3; - (void)removeView:(id)a0; - (void)setWantsSidebarVisible:(BOOL)a0; - (id)curatedLibraryAssetsDataSourceManager:(id)a0 dominantAssetCollectionReferenceForZoomLevel:(long long)a1; - (void)_invalidateChromeVisibility; - (void).cxx_destruct; - (void)setCurrentContentFilterState:(id)a0; - (void)toggleSelectionForIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0; - (void)setZoomLevelTransitionPhase:(long long)a0; - (void)_invalidateAssetCollectionActionManager; - (void)toggleSelectionForAssetReference:(id)a0; - (void)_invalidateUserWantsAspectFitContent; - (void)resetAllPhotosContentFilterState; - (void)_updateCurrentContentFilterState; - (void)curatedLibraryAssetsDataSourceManager:(id)a0 didTransitionFromZoomLevel:(long long)a1 toZoomLevel:(long long)a2; - (void)_updateBannerViewConfiguration; - (void)setZoomLevel:(long long)a0; - (void)_invalidateLibraryState; - (void)_invalidateCurrentDataSource; - (void)_updateAllowedActions; - (void)_invalidateAssetsDataSourceManager; - (void)setSelectedAssetsTypedCount:(struct { unsigned long long x0; long long x1; })a0; - (void)setDaysMarginScale:(double)a0; - (void)toggleSelectionForIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0 updateCursorIndexPath:(BOOL)a1; - (void)setCplActionManagerClass:(Class)a0; - (void)setSkimmingInfo:(id)a0; - (void)_updateLibraryState; - (void)_invalidateSelectModeCaption; - (id)_indexPathsForAssetCollectionReference:(id)a0; - (void)_updateChromeVisibility; - (void)removePresenter:(id)a0; - (void)_updateFilteringTimeoutObserver; - (void)setWantsDarkStatusBar:(BOOL)a0; @end