@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