@class PUCachedMapTable, PUAssetActionManager, NSDate, NSObject, PUAssetsDataSource, NSString, PUReviewScreenBarsModel, PXSearchQueryMatchInfo, PUAssetViewModel, NSMutableSet, PUMediaProvider, PXContentPrivacyController, PUPhotoPickerResizeTaskDescriptorViewModel, PUAssetReference; @protocol OS_dispatch_queue, PXAssetImportStatusManager; @interface PUBrowsingViewModel : PUViewModel { PUAssetReference *_currentAssetReference; NSDate *_currentAssetReferenceChangedDate; double _lastAssetWasCurrentForDuration; BOOL _browsingSpeedRegimeIsValid; BOOL _isBrowsingSpeedRegimeInvalidationScheduled; PUCachedMapTable *_viewModelByAssetReference; NSMutableSet *_invalidAssetViewModels; BOOL _allAssetViewModelsAreInvalid; PUCachedMapTable *_assetSharedViewModelByAsset; PUCachedMapTable *_assetSharedViewModelByAssetUUID; BOOL _videoContentAllowed; BOOL _needsUpdatePlaybackAudioSession; } @property (class, nonatomic) long long muteMode; @property (nonatomic, setter=_setUserNavigationDistance:) long long _userNavigationDistance; @property (nonatomic, setter=_setScrubbingSessionDistance:) long long _scrubbingSessionDistance; @property (nonatomic, setter=_setLastChromeVisibilityChangeReason:) long long lastChromeVisibilityChangeReason; @property (retain, nonatomic, setter=_setLastChromeVisibilityChangeContext:) id lastChromeVisibilityChangeContext; @property (nonatomic, setter=_setAnimatingAnyTransition:) BOOL isAnimatingAnyTransition; @property (retain, nonatomic, setter=_setAnimatingTransitionIdentifiers:) NSMutableSet *_animatingTransitionIdentifiers; @property (retain, nonatomic, setter=_setVideoDisallowedReasons:) NSMutableSet *_videoDisallowedReasons; @property (nonatomic, setter=_setBrowsingSpeedRegime:) long long browsingSpeedRegime; @property (retain, nonatomic, setter=_setTrailingAssetReference:) PUAssetReference *trailingAssetReference; @property (retain, nonatomic, setter=_setLeadingAssetReference:) PUAssetReference *leadingAssetReference; @property (readonly, nonatomic) NSObject *audioSessionUpdateQueue; @property (retain, nonatomic) PUAssetsDataSource *assetsDataSource; @property (retain, nonatomic) PUMediaProvider *mediaProvider; @property (retain, nonatomic) PUAssetActionManager *actionManager; @property (retain, nonatomic) id importStatusManager; @property (retain, nonatomic) PXContentPrivacyController *privacyController; @property (retain, nonatomic) PUAssetReference *currentAssetReference; @property (readonly, nonatomic) PUAssetReference *lastViewedAssetReference; @property (readonly, nonatomic) PUAssetReference *assetBeforeLastViewedAssetReference; @property (readonly, nonatomic) double currentAssetTransitionProgress; @property (readonly, copy, nonatomic) NSString *transitionDriverIdentifier; @property (readonly, nonatomic) BOOL assetChangesShouldAnimate; @property (nonatomic) BOOL isScrubbing; @property (nonatomic) BOOL isScrolling; @property (nonatomic) long long videoOverlayPlayState; @property (nonatomic) BOOL isAttemptingToPlayVideoOverlay; @property (nonatomic) BOOL accessoryViewsDefaultVisibility; @property (readonly, nonatomic) long long contentPrivacyState; @property (readonly, nonatomic) long long systemAuthenticationType; @property (readonly, nonatomic) BOOL wantsContentUnavailableUnlockButtonVisible; @property (nonatomic, setter=setChromeVisible:) BOOL isChromeVisible; @property (readonly, nonatomic) NSDate *lastChromeVisibilityChangeDate; @property (nonatomic, getter=isPresentingOverOneUp) BOOL presentingOverOneUp; @property (nonatomic) long long horizontalSizeClass; @property (nonatomic) struct CGSize { double width; double height; } secondScreenSize; @property (nonatomic) long long muteMode; @property (readonly, nonatomic) PUAssetViewModel *assetViewModelForCurrentAssetReference; @property (copy, nonatomic) NSString *navigationBarTitle; @property (retain, nonatomic) PUReviewScreenBarsModel *reviewScreenBarsModel; @property (retain, nonatomic) PUPhotoPickerResizeTaskDescriptorViewModel *resizeTaskDescriptorViewModel; @property (readonly, nonatomic) BOOL isVideoContentAllowed; @property (readonly, nonatomic) BOOL lowMemoryMode; @property (nonatomic) BOOL isInSelectionMode; @property (nonatomic) BOOL livePhotoShouldPlay; @property (retain, nonatomic) PXSearchQueryMatchInfo *searchQueryMatchInfo; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)_handleSceneWillDeactivateNotification:(id)a0; + (void)initialize; - (void)viewModel:(id)a0 didChange:(id)a1; - (void)_updateAssetViewModelsIfNeeded; - (void)setSystemAuthenticationType:(long long)a0; - (void)_handleAssetViewModel:(id)a0 didChange:(id)a1; - (id)init; - (void)_resetAccessoryViewsVisibilityToDefaultWithChangeReason:(long long)a0; - (void)_setTransitionDriverIdentifier:(id)a0; - (void)registerChangeObserver:(id)a0; - (void)setChromeVisible:(BOOL)a0 changeReason:(long long)a1; - (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2; - (void)_invalidateCurrentAndNeighboringAssetViewModels; - (void)_invalidateBrowsingSpeedRegimeAfterMaximumDelay:(double)a0; - (void)unregisterChangeObserver:(id)a0; - (void)setCurrentAssetReference:(id)a0 transitionProgress:(double)a1 transitionDriverIdentifier:(id)a2 animated:(BOOL)a3; - (void)_invalidateBrowsingSpeedRegime; - (void)didPerformChanges; - (void)_handleAsyncBrowsingSpeedRegimeInvalidation; - (BOOL)_needsUpdate; - (void)_setVideoContentAllowed:(BOOL)a0; - (void)setAnimating:(BOOL)a0 transitionWithIdentifier:(id)a1; - (void)_setCurrentAssetTransitionProgress:(double)a0; - (void)_updatePlaybackAudioSessionIfNeeded; - (void)_updateScrubSpeedRegimeIfNeeded; - (void)setAccessoryViewsDefaultVisibility:(BOOL)a0 changeReason:(long long)a1; - (void)_updateSystemAuthenticationType; - (id)assetSharedViewModelForAsset:(id)a0; - (BOOL)isTogglingCTMForAsset:(id)a0; - (void)_handleAutoplayMutedDidChangeNotification:(id)a0; - (id)assetViewModelForAssetReference:(id)a0; - (id)initWithLowMemoryMode:(BOOL)a0; - (void)setWantsContentUnavailableUnlockButtonVisible:(BOOL)a0; - (void)_updateIfNeeded; - (void)_updateNeighboringAssetReferences; - (id)currentChange; - (void)_updateAssetViewModel:(id)a0; - (id)activeAssetReferences; - (id)_assetSharedViewModelForAsset:(id)a0 createIfNeeded:(BOOL)a1; - (void)setVideoContentAllowed:(BOOL)a0 forReason:(id)a1; - (id)_filteredAllowedBadges:(id)a0 forAssetReference:(id)a1; - (void)resetMuteMode; - (void)_handleAssetSharedViewModel:(id)a0 didChange:(id)a1; - (void)_invalidateAllAssetViewModels; - (void).cxx_destruct; - (void)setVideoContentAllowedForAllReasons; - (void)signalReviewScreenSelectionChanged; - (id)assetSharedViewModelForAssetUUID:(id)a0; - (id)newViewModelChange; - (void)_invalidatePlaybackAudioSession; - (void)_updateContentPrivacyState; - (void)_updateWantsContentUnavailableUnlockButtonVisible; - (double)_focusValueForAsset:(id)a0; - (void)assetImportStatusManager:(id)a0 didChangeStatusForAssetReference:(id)a1; - (id)debugDetailedDescription; - (void)_invalidateAssetViewModel:(id)a0; - (id)_badgeInfoPromiseForAssetReference:(id)a0; - (void)setChromeVisible:(BOOL)a0 changeReason:(long long)a1 context:(id)a2; - (long long)_importStateForAssetReference:(id)a0; - (void)setContentPrivacyState:(long long)a0; @end