luxlabs header browser preview


@class UIVisualEffectView, NSMutableArray, NSString, LPImagePresentationProperties, LPCaptionBarPresentationProperties, LPLinkRendererSizeClassParameters, LPARAsset, NSAttributedString, LPCaptionButtonPresentationProperties, NSArray, LPAnimationMaskView, UIContextMenuInteraction, LPLinkViewComponents, UIView, LPInlineMediaPlaybackInformation, LPLinkMetadata, LPVideo, NSRegularExpression, LPCollaborationFooterConfiguration, LPImage, LPTheme, NSURL, UIColor, NSNumber, NSHashTable;
@protocol LPLinkViewDelegate, UIContextMenuInteractionDelegate;

@interface LPLinkView : UIView <UIContextMenuInteractionDelegate, UIGestureRecognizerDelegate, CAAnimationDelegate, LPComponentViewHost, LPTapToLoadViewDelegate, LPThemeClient> {
    unsigned int _loggingID;
    NSHashTable *_pendingMetadataProviders;
    LPLinkMetadata *_metadata;
    NSArray *_multipleMetadata;
    NSArray *_multipleURLs;
    LPTheme *_theme;
    BOOL _hasOverrideCornerRadius;
    double _overrideCornerRadius;
    NSMutableArray *_tapGestureRecognizers;
    NSMutableArray *_highlightGestureRecognizers;
    UIView *_captionHighlightView;
    UIView *_mediaHighlightView;
    BOOL _isPreliminary;
    long long _style;
    LPCaptionBarPresentationProperties *_captionBar;
    LPCaptionBarPresentationProperties *_mediaTopCaptionBar;
    LPCaptionBarPresentationProperties *_mediaBottomCaptionBar;
    LPCaptionButtonPresentationProperties *_captionButton;
    LPCaptionButtonPresentationProperties *_captionTextButton;
    LPImage *_backgroundImage;
    LPImagePresentationProperties *_backgroundImageProperties;
    NSString *_quotedText;
    LPARAsset *_arAsset;
    LPImagePresentationProperties *_arAssetProperties;
    LPImage *_image;
    LPImagePresentationProperties *_imageProperties;
    NSArray *_alternateImages;
    LPVideo *_video;
    UIColor *_backgroundColor;
    UIColor *_presentationOverrideBackgroundColor;
    BOOL _backgroundColorIsClear;
    LPInlineMediaPlaybackInformation *_inlinePlaybackInformation;
    double _minimumHeight;
    NSString *_domainNameForIndicator;
    NSAttributedString *_overrideSubtitle;
    LPLinkViewComponents *_components;
    LPLinkViewComponents *_componentsForSizing;
    UIView *_contentView;
    UIView *_animationView;
    unsigned long long _effectiveSizeClass;
    NSNumber *_overrideAllowsOpeningSensitiveURLs;
    LPAnimationMaskView *_animationMaskView;
    UIVisualEffectView *_blurView;
    UIContextMenuInteraction *_contextMenuInteraction;
    LPCollaborationFooterConfiguration *_collaborationFooterConfiguration;
    long long _sharedObjectDownloadState;
    BOOL _hasEverBuilt;
    BOOL _needsRebuild;
    BOOL _suppressNeedsResize;
    BOOL _shouldAnimateDuringNextBuild;
    BOOL _hasValidPresentationProperties;
    BOOL _hasSetDisableHighlightGesture;
    BOOL _hasSetDisablePreviewGesture;
    BOOL _mayReceiveAdditionalMetadata;
    BOOL _usesComputedPresentationProperties;
    BOOL _asynchronouslyLoadingMetadataFields;
    BOOL _metadataIsComplete;
    BOOL _componentsNeedLayout;
}

@property (nonatomic, setter=_setBytesLoaded:) unsigned long long _bytesLoaded;
@property (weak, nonatomic) id<LPLinkViewDelegate> delegate;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } contentInset;
@property (retain, nonatomic) NSURL *URL;
@property (retain, nonatomic, setter=_setOverrideURL:) NSURL *_overrideURL;
@property (retain, nonatomic, setter=_setOverrideActionButtonColor:) UIColor *_overrideActionButtonColor;
@property (retain, nonatomic, setter=_setOverrideSubtitleButtonColor:) UIColor *_overrideSubtitleButtonColor;
@property (nonatomic, setter=_setDisableAnimations:) BOOL _disableAnimations;
@property (nonatomic, setter=_setAnimationOrigin:) long long _animationOrigin;
@property (nonatomic, setter=_setNeedsMessagesTranscriptPushCounterAnimation:) BOOL _needsMessagesTranscriptPushCounterAnimation;
@property (nonatomic, setter=_setDisableTapGesture:) BOOL _disableTapGesture;
@property (nonatomic, setter=_setDisableHighlightGesture:) BOOL _disableHighlightGesture;
@property (nonatomic, setter=_setDisablePreviewGesture:) BOOL _disablePreviewGesture;
@property (nonatomic, setter=_setDisablePlayback:) BOOL _disablePlayback;
@property (nonatomic, setter=_setDisablePlaybackControls:) BOOL _disablePlaybackControls;
@property (nonatomic, setter=_setDisableAutoPlay:) BOOL _disableAutoPlay;
@property (nonatomic, setter=_setAllowsLoadingMediaWithAutoPlayDisabled:) BOOL _allowsLoadingMediaWithAutoPlayDisabled;
@property (nonatomic, setter=_setAllowsTapToLoad:) BOOL _allowsTapToLoad;
@property (nonatomic, setter=_setUsesDeferredLayout:) BOOL _usesDeferredLayout;
@property (nonatomic, setter=_setForceFlexibleWidth:) BOOL _forceFlexibleWidth;
@property (nonatomic, setter=_setApplyCornerRadius:) BOOL _applyCornerRadius;
@property (nonatomic, setter=_setCornerRadius:) double _cornerRadius;
@property (nonatomic, setter=_setEffectiveCornerRadius:) double _effectiveCornerRadius;
@property (nonatomic, setter=_setDisableLinkFollowing:) BOOL _disableLinkFollowing;
@property (nonatomic, setter=_setUseLowMemoryImageFilters:) BOOL _useLowMemoryImageFilters;
@property (nonatomic, setter=_setAllowsOpeningSensitiveURLs:) BOOL _allowsOpeningSensitiveURLs;
@property (nonatomic, setter=_setStrictlyRespectsSizeClassHeightConstraints:) BOOL _strictlyRespectsSizeClassHeightConstraints;
@property (readonly, nonatomic) long long _style;
@property (nonatomic, setter=_setTextSafeAreaInset:) struct UIEdgeInsets { double top; double left; double bottom; double right; } _textSafeAreaInset;
@property (nonatomic, setter=_setPreferredSizeClass:) unsigned long long _preferredSizeClass;
@property (copy, nonatomic, setter=_setSizeClassParameters:) LPLinkRendererSizeClassParameters *_sizeClassParameters;
@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } _primaryCaptionBarFrame;
@property (retain, nonatomic, setter=_setSourceBundleIdentifier:) NSString *_sourceBundleIdentifier;
@property (copy, nonatomic, setter=_setEmphasizedTextExpression:) NSRegularExpression *_emphasizedTextExpression;
@property (retain, nonatomic, setter=_setOverrideBackgroundColor:) UIColor *_overrideBackgroundColor;
@property (retain, nonatomic, setter=_setUnderlyingBackgroundColor:) UIColor *_underlyingBackgroundColor;
@property (retain, nonatomic, setter=_setContactsForAttribution:) NSArray *_contactsForAttribution;
@property (nonatomic, getter=_isHighlightedForAttribution, setter=_setHighlightedForAttribution:) BOOL _highlightedForAttribution;
@property (retain, nonatomic, setter=_setLastResortIcon:) LPImage *_lastResortIcon;
@property (nonatomic, setter=_setInComposeContext:) BOOL _inComposeContext;
@property (nonatomic, setter=_setInSenderContext:) BOOL _inSenderContext;
@property (nonatomic, getter=_isCollaborative, setter=_setCollaborative:) BOOL _collaborative;
@property (readonly, nonatomic) id<UIContextMenuInteractionDelegate> _contextMenuInteractionDelegate;
@property (nonatomic, getter=_isShowingDisclosureView, setter=_setShowingDisclosureView:) BOOL _showingDisclosureView;
@property (copy, nonatomic) LPLinkMetadata *metadata;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (unsigned long long)_edgesPropagatingSafeAreaInsetsToSubviews;
- (id)initWithURL:(id)a0;
- (id)init;
- (void)animationDidStop:(id)a0 finished:(BOOL)a1;
- (void)dealloc;
- (BOOL)gestureRecognizer:(id)a0 shouldReceiveTouch:(id)a1;
- (struct CGSize { double x0; double x1; })intrinsicContentSize;
- (void)encodeWithCoder:(id)a0;
- (BOOL)gestureRecognizer:(id)a0 canPreventGestureRecognizer:(id)a1;
- (void)contextMenuInteraction:(id)a0 willDisplayMenuForConfiguration:(id)a1 animator:(id)a2;
- (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (long long)_blurEffectStyle;
- (id)contextMenuInteraction:(id)a0 configurationForMenuAtLocation:(struct CGPoint { double x0; double x1; })a1;
- (void)_didScroll;
- (void).cxx_destruct;
- (BOOL)_layoutHeightDependsOnWidth;
- (double)_effectiveCornerRadius;
- (void)_invalidateLayout;
- (void)layoutSubviews;
- (BOOL)gestureRecognizer:(id)a0 shouldRequireFailureOfGestureRecognizer:(id)a1;
- (id)initWithCoder:(id)a0;
- (void)didMoveToWindow;
- (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1;
- (struct CGSize { double x0; double x1; })sizeThatFits:(struct CGSize { double x0; double x1; })a0;
- (unsigned long long)_axesForDerivingIntrinsicContentSizeFromLayoutSize;
- (id)_primaryMediaView;
- (void)_setMaskImage:(id)a0;
- (id)initWithMetadata:(id)a0;
- (void)_setAction:(id /* block */)a0 withText:(id)a1 buttonType:(long long)a2;
- (id)initWithPresentationProperties:(id)a0 URL:(id)a1;
- (void)resetDownloadState;
- (void)setSuppressMask:(BOOL)a0;
- (id)_playable;
- (BOOL)_hasMedia;
- (id)_initWithMetadataLoadedFromRequests:(id)a0;
- (id)_initWithMultipleMetadata:(id)a0;
- (void)_setAction:(id /* block */)a0 withAttributedText:(id)a1 buttonType:(long long)a2;
- (void)_setAction:(id /* block */)a0 withText:(id)a1;
- (void)_setButtonActions:(id)a0;
- (void)_setCollaborationFooterViewModel:(id)a0 action:(id /* block */)a1;
- (void)_setMultipleMetadata:(id)a0;
- (void)_setOverrideSubtitle:(id)a0;
- (BOOL)_isPlayingMedia;
- (void)_layoutLinkView;
- (void)_uninstallTapGestureRecognizers;
- (BOOL)_hasMediaToPlay;
- (BOOL)allowsVibrancyForComponentView:(id)a0;
- (id)initWithPresentationProperties:(id)a0;
- (void)_addCaptionButton:(id)a0;
- (void)_addHighlightRecognizerToView:(id)a0 forMedia:(BOOL)a1;
- (void)_addTapRecognizerToView:(id)a0 forMedia:(BOOL)a1;
- (void)_animateWithDuration:(double)a0 animations:(id /* block */)a1;
- (void)_cancelActiveHighlight;
- (void)_captionBarButtonPressed:(id)a0;
- (void)_captionHighlightRecognized:(id)a0;
- (void)_captionTapRecognized:(id)a0;
- (void)_commonInitWithURL:(id)a0;
- (void)_computePresentationPropertiesFromMetadataIfNeeded;
- (void)_configureWithoutLoadingMetadataFromURLs:(id)a0;
- (id)_createBackgroundImageView;
- (id)_createCaptionBar;
- (id)_createComponents;
- (id)_createContactsBadgeView;
- (id)_createDomainNameIndicator;
- (id)_createMediaBottomCaptionBarView;
- (id)_createMediaTopCaptionBarView;
- (id)_createMediaView;
- (id)_createQuotedTextView;
- (id)_createTapToLoadView;
- (void)_disableBlur;
- (void)_enableBlur;
- (void)_fetchMetadataForRequest:(id)a0;
- (id)_fetchMetadataForRequest:(id)a0 withSubresources:(BOOL)a1 completionHandler:(id /* block */)a2;
- (id)_initWithMetadataLoadedFromURLs:(id)a0;
- (id)_initWithSynapseContentItem:(id)a0;
- (void)_installHighlightGestureRecognizers;
- (void)_installPreviewGestureRecognizer;
- (void)_installTapGestureRecognizers;
- (void)_invalidatePresentationProperties;
- (BOOL)_isUsingAppClipPresentation;
- (struct CGSize { double x0; double x1; })_layoutLinkViewForSize:(struct CGSize { double x0; double x1; })a0 applyingLayout:(BOOL)a1;
- (void)_mediaHighlightRecognized:(id)a0;
- (void)_mediaTapRecognized:(id)a0;
- (void)_openURL;
- (void)_openURLAllowingSensitiveSchemes:(BOOL)a0 allowingAssociatedApplications:(BOOL)a1;
- (void)_pauseMedia;
- (void)_playMedia;
- (void)_rebuildEntireView;
- (void)_rebuildGestureRecognizersIfNeeded;
- (void)_rebuildSubviewsWithAnimation:(BOOL)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_rectForCaptionButtonType:(long long)a0;
- (void)_removeCaptionButtonWithType:(long long)a0;
- (void)_resetMediaPlayback;
- (void)_setHighlightCaption:(BOOL)a0;
- (void)_setHighlightMedia:(BOOL)a0;
- (void)_setMetadata:(id)a0 isFinal:(BOOL)a1;
- (void)_setMetadataInternal:(id)a0;
- (void)_setPresentationProperties:(id)a0;
- (void)_setupView;
- (BOOL)_shouldApplyCornerRadius;
- (BOOL)_shouldClipAnimationView;
- (BOOL)_shouldUseAnimations;
- (long long)_themePlatform;
- (void)_uninstallHighlightGestureRecognizers;
- (void)_uninstallPreviewGestureRecognizer;
- (void)_updateBlur;
- (void)_updateMetadataIsComplete;
- (id)_videoViewConfiguration;
- (BOOL)allowsBadgingIconEdgeForComponentView:(id)a0;
- (void)animateBackgroundColor;
- (void)animateFromOldFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 oldMediaBackgroundFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 oldCaptionBarView:(id)a2;
- (void)animateInViews;
- (void)animateOutAndRemoveViews;
- (long long)blurEffectStyleBehindComponentView:(id)a0;
- (long long)componentView:(id)a0 allowedImageFilterForFilter:(long long)a1;
- (id)componentView:(id)a0 playerForAudio:(id)a1;
- (void)componentViewDidChangeIntrinsicContentSize:(id)a0;
- (void)componentViewDidChangeMediaState:(id)a0;
- (void)componentViewDidTapCaptionButton:(id)a0 buttonType:(long long)a1;
- (id)downloadProgressForComponentView:(id)a0;
- (id)initWithMetadataLoadedFromRequest:(id)a0;
- (id)initWithMetadataLoadedFromURL:(id)a0;
- (id)layoutExclusionsForView:(id)a0;
- (BOOL)linkHasMediaForComponentView:(id)a0;
- (long long)rendererStyleForComponentView:(id)a0;
- (id)resolveBackgroundColor;
- (void)set_preferredSizeClass:(unsigned long long)a0;
- (long long)sharedObjectDownloadStateForComponentView:(id)a0;
- (BOOL)showingDisclosureViewForComponentView:(id)a0;
- (void)tapToLoadViewWasTapped:(id)a0;
- (void)themeParametersDidChange;

@end