luxlabs header browser preview


@class PXVideoScrubberController, PUScrubberTilingLayout, PUBrowsingSession, UITapGestureRecognizer, UIScrollView, PXSectionedSelectionManager, NSString, NSMutableDictionary, PUTouchingGestureRecognizer, PUTilingView, NSIndexPath;
@protocol PUScrubberViewDelegate;

@interface PUScrubberView : UIView <PUTilingViewTileSource, PUTilingViewTileTransitionDelegate, PUTilingViewScrollDelegate, UIScrollViewDelegate, PUBrowsingViewModelChangeObserver, PUScrubberTilingLayoutDelegate, PXVideoScrubberControllerDelegate, PUPlaybackTimeIndicatorTileViewControllerDelegate, UIGestureRecognizerDelegate, PXChangeObserver> {
    NSString *_scrubbingIdentifier;
    NSString *_contentScrubbingIdentifier;
    NSString *_transitionLayoutIdentifier;
    BOOL _loupeEffectIsValid;
    BOOL _snapToExpandedIsValid;
    BOOL _scrubberLayoutIsValid;
    BOOL _scrubberLayoutNeedsTransition;
    PUTouchingGestureRecognizer *_touchingGestureRecognizer;
    NSMutableDictionary *_aspectRatioByIndexPath;
    struct { BOOL respondsToShouldIgnoreHitTestWithEvent; } _delegateFlags;
}

@property (retain, nonatomic, setter=_setScrubberLayout:) PUScrubberTilingLayout *_scrubberLayout;
@property (retain, nonatomic, setter=_setTilingView:) PUTilingView *_tilingView;
@property (readonly, nonatomic) UITapGestureRecognizer *_tapGestureRecognizer;
@property (retain, nonatomic, setter=_setVideoScrubberController:) PXVideoScrubberController *_videoScrubberController;
@property (nonatomic, setter=_setExpandedItemType:) long long _expandedItemType;
@property (nonatomic, setter=_setIsHandlingUserScroll:) BOOL _isHandlingUserScroll;
@property (nonatomic, setter=_setScrubbingAwayFromContentEdge:) BOOL _isScrubbingAwayFromContentEdge;
@property (nonatomic, setter=_setScrollViewSettled:) BOOL _scrollViewSettled;
@property (nonatomic, setter=_setUseLoupe:) BOOL _useLoupe;
@property (nonatomic, setter=_setThinLoupe:) BOOL _thinLoupe;
@property (nonatomic, setter=_setUseSmoothingTransitionCoordinator:) BOOL _useSmoothingTransitionCoordinator;
@property (nonatomic, setter=_setSnapToExpandedItem:) BOOL _snapToExpandedItem;
@property (retain, nonatomic, setter=_setDecelerationTargetIndexPath:) NSIndexPath *_decelerationTargetIndexPath;
@property (nonatomic, setter=_setDecelerationTargetOffset:) struct CGPoint { double x; double y; } _decelerationTargetOffset;
@property (nonatomic, setter=_setDecelerationDistance:) double _decelerationDistance;
@property (nonatomic, setter=_setLayoutTransitionsDisabledCount:) long long _layoutTransitionsDisabledCount;
@property (nonatomic, setter=_setScrubbingTransitionProgress:) double _scrubbingTransitionProgress;
@property (nonatomic, setter=_setHandlingScrollViewWillEndDragging:) BOOL _isHandlingScrollViewWillEndDragging;
@property (readonly, nonatomic, getter=_areLayoutTransitionsDisabled) BOOL _layoutTransitionsDisabled;
@property (nonatomic) BOOL currentDragBeganOnContent;
@property (retain, nonatomic) PXSectionedSelectionManager *selectionManager;
@property (retain, nonatomic) PUBrowsingSession *browsingSession;
@property (nonatomic) long long type;
@property (weak, nonatomic) id<PUScrubberViewDelegate> delegate;
@property (readonly, nonatomic) double topOutset;
@property (readonly, nonatomic) UIScrollView *scrollViewForPreviewing;
@property (nonatomic) BOOL isForPreview;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)scrollViewDidEndDecelerating:(id)a0;
- (void)_endScrubbing;
- (double)_lengthForDuration:(double)a0;
- (void)endPreviewing;
- (id)tilingView:(id)a0 tileTransitionCoordinatorForTransitionFromLayout:(id)a1 toLayout:(id)a2 withContext:(id)a3;
- (void)viewModel:(id)a0 didChange:(id)a1;
- (void)updateIfNeeded;
- (id)_currentAssetsDataSource;
- (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2;
- (void)dealloc;
- (void)videoScrubberController:(id)a0 desiredSeekTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1;
- (void)_handleTapOnBrowsingIrisPlayer:(id)a0;
- (void)_handleUserScrollWillBegin:(BOOL)a0;
- (void)_updateSnapToExpandedItemIfNeeded;
- (void)_handleTap:(id)a0;
- (void)_updateLoupeEffectIfNeeded;
- (struct CGPoint { double x0; double x1; })tilingView:(id)a0 targetVisibleOriginForProposedVisibleOrigin:(struct CGPoint { double x0; double x1; })a1 withLayout:(id)a2;
- (double)videoScrubberController:(id)a0 lengthForDuration:(double)a1;
- (void)_disableLayoutTransitionsForDuration:(double)a0;
- (void)scrollViewDidEndDragging:(id)a0 willDecelerate:(BOOL)a1;
- (void)_reenableLayoutTransitions;
- (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (struct CGPoint { double x0; double x1; })tilingView:(id)a0 initialVisibleOriginWithLayout:(id)a1;
- (id)tilingView:(id)a0 dataSourceConverterForTransitionFromLayout:(id)a1 toLayout:(id)a2;
- (id)tilingView:(id)a0 tileTransitionCoordinatorForLayoutInvalidationContext:(id)a1;
- (void)_updateScrubbingAwayFromContentEdgeBeganDragging:(BOOL)a0;
- (void)_setNeedsUpdate;
- (void)_handleTapOnBrowsingVideoPlayer:(id)a0;
- (void)beginPreviewing;
- (double)_playheadProgressForIrisAssetReference:(id)a0;
- (void)_invalidateSnapToExpandedItem;
- (BOOL)layout:(id)a0 shouldShowTimeIndicatorForExpandedItemAtIndexPath:(id)a1;
- (id)_expandedAssetReference;
- (double)_expandedItemWidth;
- (BOOL)_isDrivingPlayheadProgress;
- (BOOL)layout:(id)a0 isItemAtAtIndexPathSelected:(id)a1;
- (void).cxx_destruct;
- (BOOL)_allowExitFromContentScrubbing;
- (void)_updateScrollPositionAnimated:(BOOL)a0;
- (void)_invalidateScrubberLayoutEnsureTransition;
- (id)hitTest:(struct CGPoint { double x0; double x1; })a0 withEvent:(id)a1;
- (BOOL)_isContentScrubbing;
- (void)videoScrubberControllerDidUpdate:(id)a0;
- (void)_updateTilingViewIfNeeded;
- (id)_newScrubberLayout;
- (BOOL)playbackTimeIndicatorTileViewControllerCanFlashIndicator:(id)a0;
- (id)tilingView:(id)a0 tileControllerWithIndexPath:(id)a1 kind:(id)a2 dataSource:(id)a3;
- (void)layoutSubviews;
- (float)layout:(id)a0 aspectRatioForItemAtIndexPath:(id)a1;
- (BOOL)_isLibraryScrubbing;
- (void)_invalidateLoupeEffect;
- (void)_updateScrubberLayoutIfNeeded;
- (void)_invalidateScrubberLayout;
- (void)scrollViewDidScroll:(id)a0;
- (id)tilingView:(id)a0 tileTransitionCoordinatorForChangeFromFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 toFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2 duration:(double)a3;
- (void)cancelDeceleration;
- (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;
- (void)handleTouchGesture:(id)a0;
- (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1;

@end