luxlabs header browser preview


@class UIView, UIImage, VUIDownloadButtonViewModel, VUITextLayout, VUIDownloadButtonActionHandler, CAShapeLayer, UIViewController, VUICircularProgress, UIImageSymbolConfiguration, UIColor;

@interface VUIDownloadButton : VUIButton

@property (retain, nonatomic) UIImage *notDownloadedImage;
@property (retain, nonatomic) UIImage *connectingImage;
@property (retain, nonatomic) UIImage *downloadingImage;
@property (retain, nonatomic) UIImage *downloadedImage;
@property (retain, nonatomic) UIImage *expiredDownloadImage;
@property (retain, nonatomic) VUIDownloadButtonViewModel *viewModel;
@property (retain, nonatomic) VUICircularProgress *progressIndicator;
@property (nonatomic) BOOL observingDownloadProgress;
@property (nonatomic) BOOL wasDeleted;
@property (nonatomic) BOOL wasCanceled;
@property (nonatomic) BOOL isForLibrary;
@property (retain, nonatomic) VUITextLayout *textLayout;
@property (retain, nonatomic) UIImageSymbolConfiguration *primarySymbolConfiguration;
@property (retain, nonatomic) VUIDownloadButtonActionHandler *actionHandler;
@property (retain, nonatomic) UIView *backgroundView;
@property (retain, nonatomic) UIColor *keyBackgroundColor;
@property (retain, nonatomic) UIColor *saturatedTintColor;
@property (retain, nonatomic) CAShapeLayer *backgroundMaskingLayer;
@property (retain, nonatomic) CAShapeLayer *backdropMaskingLayer;
@property (nonatomic) BOOL showsTextInDownloadedState;
@property (nonatomic) BOOL usesDefaultConfiguration;
@property (weak, nonatomic) UIViewController *presentingViewController;
@property (copy, nonatomic) id /* block */ downloadStateChangeHandler;

- (void)dealloc;
- (void)setTintColor:(id)a0;
- (void)_setImage:(id)a0;
- (void)observeValueForKeyPath:(id)a0 ofObject:(id)a1 change:(id)a2 context:(void *)a3;
- (void).cxx_destruct;
- (id)_downloadedImage;
- (void)vui_didMoveToWindow;
- (struct CGSize { double x0; double x1; })vui_layoutSubviews:(struct CGSize { double x0; double x1; })a0 computationOnly:(BOOL)a1;
- (void)_stopObservingDownloadProgress:(id)a0;
- (void)revertTintColor;
- (id)_buttonPropertiesForState:(unsigned long long)a0 isExpired:(BOOL)a1 isExpiringSoon:(BOOL)a2 hasFailed:(BOOL)a3;
- (void)_clearMasks;
- (void)_configureProgressIndicatorWithProperties:(id)a0;
- (id)_connectingImage;
- (id)_downloadingImage;
- (id)_expiredDownloadImage;
- (id)_imageForDownloadState:(unsigned long long)a0 isExpired:(BOOL)a1 isExpiringSoon:(BOOL)a2 hasFailed:(BOOL)a3;
- (struct CGSize { double x0; double x1; })_imageSizeThatFits:(struct CGSize { double x0; double x1; })a0;
- (void)_insertProgressIndicatorWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void)_layoutProgressIndicator;
- (id)_notDownloadedImage;
- (id)_pausedImage;
- (void)_setTitleWithProperties:(id)a0;
- (void)_setupDownloadButton;
- (void)_startObservingDownloadProgress:(id)a0;
- (void)_startObservingViewModel:(id)a0;
- (void)_stopObservingViewModel:(id)a0;
- (void)_updateButtonToConnectingWithProperties:(id)a0;
- (void)_updateButtonToDownloadedWithProperties:(id)a0;
- (void)_updateButtonToDownloadingWithProperties:(id)a0;
- (void)_updateButtonToNotDownloadedWithProperties:(id)a0;
- (void)_updateButtonToState:(unsigned long long)a0 isExpired:(BOOL)a1 isExpiringSoon:(BOOL)a2 hasFailed:(BOOL)a3;
- (void)_updateButtonToState:(unsigned long long)a0 oldState:(unsigned long long)a1;
- (void)_updateDownloadProgress:(double)a0 animated:(BOOL)a1;
- (void)_updateImageViewTintColorWithDownloadState:(unsigned long long)a0;
- (void)_updateMaskForProgressLayer;
- (void)configureActionHandler;
- (void)configureWithLayoutProperties;
- (id)initWithAssetController:(id)a0 type:(unsigned long long)a1;
- (id)initWithDownloadButtonViewModel:(id)a0 type:(unsigned long long)a1;
- (id)initWithMediaEntity:(id)a0 type:(unsigned long long)a1;
- (id)initWithPlayable:(id)a0 type:(unsigned long long)a1 textLayout:(id)a2;
- (void)saturateTintColorAndBackgroundColor;
- (void)setScrolledNonUberPercentage:(double)a0;
- (void)updateWithAssetController:(id)a0;
- (void)updateWithPlayable:(id)a0 textLayout:(id)a1;

@end