luxlabs header browser preview


@class PXNumberAnimator, PXMediaProvider, PXAssetsDataSourceManager, PXUpdater, PXZoomableInlineHeadersDataSourceManager, PXSelectionSnapshot, NSString, NSSet, PXZoomablePhotosAlphaAnimator, PXLoadingStatusManager, NSArray, PXZoomablePhotosLayoutSpecManager, PXSectionedSelectionManager, PXGridInlinePlaybackController, PXAssetReference;
@protocol PXPhotosPreferredAssetCropDelegate, PXZoomablePhotosUserDefaults, PXPhotosPreferredColumnCountsDelegate, PXGDisplayAssetPixelBufferSourcesProvider;

@interface PXZoomablePhotosViewModel : PXObservable <PXChangeObserver, PXMutableZoomablePhotosViewModel, PXAssetsDataSourceManagerObserver> {
    BOOL _isUpdatingZoomState;
    PXZoomablePhotosAlphaAnimator *_alphaAnimator;
    long long _pendingZoomColumnIndex;
    BOOL _animatePendingZoom;
    PXNumberAnimator *_columnWidthAnimator;
    double _normalizedColumnWidthWhenPinchStarted;
    double _pinchLogValue;
    double _pinchLogVelocity;
    double _pinchLastDate;
    BOOL _wasPinching;
    BOOL _wasInteractiveZooming;
    unsigned long long _supportLevel;
    id _pauseToken;
}

@property (readonly, nonatomic) PXUpdater *updater;
@property (nonatomic) struct { struct CGPoint { double x; double y; } normalizedScaleCenter; double scale; double scaleVelocity; long long columns; long long columnIndex; double normalizedColumnWidth; BOOL isAnimating; BOOL isInteractive; BOOL isTracking; BOOL hasBeenInitialized; long long fromColumnIndex; long long toColumnIndex; double interactiveProgress; double animatedProgress; double stickyHeaderOpacity; } zoomState;
@property (retain, nonatomic) NSArray *allowedColumns;
@property (readonly, nonatomic) BOOL isPerformingInitialChanges;
@property (nonatomic) BOOL shouldHideSurroundingContent;
@property (nonatomic) BOOL hasInlineHeadersContent;
@property (readonly, nonatomic) BOOL allowDenseLevels;
@property (readonly, nonatomic) PXZoomablePhotosLayoutSpecManager *specManager;
@property (readonly, nonatomic) PXAssetsDataSourceManager *assetsDataSourceManager;
@property (readonly, nonatomic) PXSectionedSelectionManager *selectionManager;
@property (readonly, nonatomic) id<PXZoomablePhotosUserDefaults> userDefaults;
@property (readonly, nonatomic) PXMediaProvider *mediaProvider;
@property (readonly, nonatomic) PXLoadingStatusManager *loadingStatusManager;
@property (readonly, weak, nonatomic) id<PXPhotosPreferredAssetCropDelegate> preferredAssetCropDelegate;
@property (readonly, weak, nonatomic) id<PXPhotosPreferredColumnCountsDelegate> preferredColumnCountsDelegate;
@property (readonly, weak, nonatomic) PXGridInlinePlaybackController<PXGDisplayAssetPixelBufferSourcesProvider> *inlinePlaybackController;
@property (readonly, nonatomic) PXSelectionSnapshot *selectionSnapshot;
@property (readonly, nonatomic) BOOL lowMemoryMode;
@property (readonly, nonatomic) BOOL isPinching;
@property (readonly, nonatomic) struct { struct CGPoint { double x; double y; } normalizedInitialPosition; double normalizedInitialPinchDistance; struct CGPoint { double x; double y; } normalizedPosition; double initialScale; double scale; double scaleVelocity; long long events; double lastEventTime; } pinchState;
@property (readonly, nonatomic) BOOL viewBasedDecorationsEnabled;
@property (readonly, nonatomic) BOOL isInSelectMode;
@property (readonly, nonatomic) NSSet *draggedAssetReferences;
@property (readonly, nonatomic) PXAssetReference *dropTargetAssetReference;
@property (readonly, nonatomic) BOOL isInteractiveZooming;
@property (readonly, nonatomic) double interactiveZoomColumnIndex;
@property (readonly, nonatomic) NSArray *allowedColumnWidths;
@property (readonly, nonatomic) PXAssetReference *anchorAssetReference;
@property (readonly, nonatomic) BOOL isDisplayingIndividualItems;
@property (readonly, nonatomic) BOOL aspectFit;
@property (readonly, nonatomic) BOOL captionsVisible;
@property (readonly, nonatomic) BOOL allowsCaptionsInSquare;
@property (readonly, nonatomic) BOOL wantsDimmedSelectionStyle;
@property (readonly, nonatomic) BOOL wantsNumberedSelectionStyle;
@property (readonly, nonatomic) BOOL wantsFileSizeBadge;
@property (readonly, nonatomic) BOOL wantsOverBackgroundFloatingHeaderAppearance;
@property (readonly, nonatomic) BOOL layoutExtendsContentBelowBounds;
@property (readonly, nonatomic) PXZoomableInlineHeadersDataSourceManager *inlineHeadersDataSourceManager;
@property (readonly, nonatomic) id /* block */ effectProvider;
@property (readonly, nonatomic) id /* block */ badgesModifier;
@property (readonly, nonatomic) BOOL alwaysShowTopBadges;
@property (readonly, nonatomic, getter=isFaceModeEnabled) BOOL faceModeEnabled;
@property (readonly, nonatomic) BOOL useLowMemoryDecode;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)resetColumns;
- (void)setWantsNumberedSelectionStyle:(BOOL)a0;
- (void)performChanges:(id /* block */)a0;
- (void)_updateShouldHideSurroundingContent;
- (void)setViewBasedDecorationsEnabled:(BOOL)a0;
- (void)setWantsOverBackgroundFloatingHeaderAppearance:(BOOL)a0;
- (void)setEffectProvider:(id /* block */)a0;
- (id)init;
- (void)setInteractiveZoomColumnIndex:(double)a0 withAnchorAssetReference:(id)a1;
- (void)_invalidateAllowedColumns;
- (void)setIsInteractiveZooming:(BOOL)a0;
- (void)_handleSpecChange;
- (void)setCaptionsVisible:(BOOL)a0;
- (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2;
- (void)dealloc;
- (void)_invalidateShouldHideSurroundingContent;
- (void)setIsInSelectMode:(BOOL)a0;
- (void)setFaceModeEnabled:(BOOL)a0;
- (void)zoomToColumnIndex:(long long)a0 withAnchorAssetReference:(id)a1 animated:(BOOL)a2;
- (void)performInitialChanges:(id /* block */)a0;
- (void)didPerformChanges;
- (void)setWantsDimmedSelectionStyle:(BOOL)a0;
- (double)_columnWidthForDesiredColumnIndex:(double)a0;
- (id)initWithDataSourceManager:(id)a0 selectionManager:(id)a1 mediaProvider:(id)a2 specManager:(id)a3 loadingStatusManager:(id)a4 badgesModifier:(id /* block */)a5 preferredAssetCropDelegate:(id)a6 preferredColumnCountsDelegate:(id)a7 inlinePlaybackController:(id)a8;
- (void)setUseLowMemoryDecode:(BOOL)a0;
- (void)zoomInToIndividualItemsWithAnchorAssetReference:(id)a0 animated:(BOOL)a1;
- (void)setWantsFileSizeBadge:(BOOL)a0;
- (void)setAlwaysShowTopBadges:(BOOL)a0;
- (void)setLowMemoryMode:(BOOL)a0;
- (id)mutableChangeObject;
- (void)_invalidateAlphaAnimator;
- (void)setAllowsCaptionsInSquare:(BOOL)a0;
- (void)setIsPinching:(BOOL)a0;
- (void)setLayoutExtendsContentBelowBounds:(BOOL)a0;
- (void)setPinchState:(struct { struct CGPoint { double x0; double x1; } x0; double x1; struct CGPoint { double x0; double x1; } x2; double x3; double x4; double x5; long long x6; double x7; })a0 withAnchorAssetReference:(id)a1;
- (void)_setNeedsUpdate;
- (void)_updateAllowedColumns;
- (void)setDraggedAssetReferences:(id)a0;
- (void)setDropTargetAssetReference:(id)a0;
- (BOOL)hasContentToZoom;
- (long long)_maxColumnsForIndividualItems;
- (void)zoomInToLastRememberedWithAnchorAssetReference:(id)a0 animated:(BOOL)a1;
- (long long)denseZoomLevelForZoomState:(struct { struct CGPoint { double x0; double x1; } x0; double x1; double x2; long long x3; long long x4; double x5; BOOL x6; BOOL x7; BOOL x8; BOOL x9; long long x10; long long x11; double x12; double x13; double x14; })a0;
- (void)_invalidatePinchVelocity;
- (long long)_closestColumnIndexForColumnWidth:(double)a0;
- (long long)bestColumnIndexForPreferredNumberOfColumns:(long long)a0;
- (void).cxx_destruct;
- (void)_invalidateZoomState;
- (long long)_closestColumnIndexForAnimatedValue:(double)a0;
- (void)_updateZoomState;
- (long long)_clampColumnIndexToValidIndex:(long long)a0;
- (double)_columnIndexForItemWidth:(double)a0;
- (void)_updatePinchVelocity;
- (long long)_nextColumnIndexForInitialColumnWidth:(double)a0 currentColumnWidth:(double)a1 velocity:(double)a2;
- (void)_updateAlphaAnimator;
- (void)setAspectFit:(BOOL)a0;

@end