@class MFMessageLoadingContext, EMDaemonInterface, NSDictionary, WKWebView, UIScrollView, MUIBrandIndicatorProvider, NSMutableSet, UIBarButtonItem, MFHideMyEmailBannerView, MFBlockedSenderBannerView, MFMailDropBannerView, MFWebViewDictionary, MFMessageDisplayMetrics, EFCancelationToken, MessageContentRepresentationRequest, MFLoadBlockedContentBannerView, ConversationSearchOverlayView, MFMessageContentLoadingView, MFConversationItemFooterView, MessageContentItemsHelper, MFHasMoreContentBannerView, MFMessageHeaderView, MFQuickReplyAnimationContext, UIView, EMContentRepresentation, MFMailboxProvider, NSArray, EMCachingContactStore, NSMutableDictionary, MFLoadFailedProxyContentBannerView, NSString, NSError, NSObject, UIViewPropertyAnimator, NSSet, MFWebViewLoadingController, MFAddressAtomStatusManager, NSDate; @protocol OS_os_log, EFScheduler, EMContentItem, MFMessageContentViewDelegate, EFCancelable, MFMessageContentViewDataSource; @interface MFMessageContentView : UIView <UIPopoverPresentationControllerDelegate, _WKInputDelegate, WKNavigationDelegatePrivate, WKUIDelegatePrivate, MFHideMyEmailBannerViewDelegate, MFHasMoreContentBannerViewDelegate, MFLoadBlockedContentBannerViewDelegate, MFLoadFailedProxyContentBannerViewDelegate, MFBlockedSenderBannerViewDelegate, MFMessageHeaderViewDelegate, MFMessageFooterViewDelegate, MFMailDropBannerDelegate, MFPresentationSource, UIContextMenuInteractionDelegate_Private, UIScrollViewDelegate, EFSignpostable, MFMailWebProcessDelegate, MUIReusable> { EFCancelationToken *_loadingCancelable; MessageContentItemsHelper *_relatedItemsHelper; MFMailDropBannerView *_mailDropBanner; MFHasMoreContentBannerView *_loadHasMoreContentBanner; MFHideMyEmailBannerView *_hideMyEmailBanner; MFLoadBlockedContentBannerView *_loadImagesHeaderBlock; MFBlockedSenderBannerView *_blockedSenderBanner; MFLoadFailedProxyContentBannerView *_loadFailedProxyContentBanner; UIView *_previousContentSnapshotWrapperView; UIBarButtonItem *_presentedControllerDoneButtonItem; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _activatedAttachmentRect; id<EFCancelable> _contentSizeObservation; BOOL _suppressContentSizeNotifications; BOOL _suppressContentSizeNotificationsUntilFirstPaint; struct UIEdgeInsets { double top; double left; double bottom; double right; } _originalZoomInsets; BOOL _paddingConstantsNeedUpdate; MFConversationItemFooterView *_footerView; NSMutableSet *_inFlightURLs; NSSet *_allRemoteURLs; NSMutableDictionary *_failedProxyURLs; unsigned long long _webProcessCrashCount; unsigned long long _backgroundWebProcessCrashCount; NSDate *_lastCrashDate; struct { unsigned char delegateRespondsToDidFinishLoadingMessages : 1; unsigned char delegateRespondsToDidFinishFirstPaint : 1; unsigned char delegateRespondsToDidDisplayContent : 1; unsigned char delegateRespondsToDidFinishRenderingWithHeight : 1; unsigned char delegateRespondsToExpandQuoteAtScrollOffset : 1; unsigned char delegateRespondsToWillBeginZoomingMessage : 1; unsigned char delegateRespondsToDidEndZoomingMessage : 1; unsigned char delegateRespondsToDidTapRevealActionsButton : 1; unsigned char delegateRespondsToDidTapUndoSendButton : 1; unsigned char delegateRespondsToLoadingIndicatorDidChangeVisibility : 1; unsigned char delegateRespondsToDidLoadSecurityInformation : 1; unsigned char delegateRespondsToWebViewDidTerminateWithReason : 1; } _flags; BOOL _isTextSearchActive; } @property (class, readonly) NSObject<OS_os_log> *signpostLog; @property (retain, nonatomic) MFAddressAtomStatusManager *atomManager; @property (copy) NSArray *attachments; @property (copy, nonatomic) NSString *selectedHTML; @property (retain, nonatomic) id<EFCancelable> loadingIndicatorCancelable; @property (retain, nonatomic) MFMessageContentLoadingView *loadingView; @property (nonatomic, getter=isLoadingIndicatorVisible) BOOL loadingIndicatorVisible; @property (nonatomic) double initialScale; @property (nonatomic) BOOL hasVisibleContent; @property (retain, nonatomic) MFWebViewLoadingController *webViewLoadingController; @property (readonly, nonatomic) WKWebView *webView; @property (readonly, nonatomic) MFWebViewDictionary *webViewConstants; @property (retain, nonatomic) NSDictionary *attachmentDragPreviews; @property (retain, nonatomic) ConversationSearchOverlayView *findOverlayView; @property (nonatomic) unsigned long long blockedContentTypes; @property (nonatomic) BOOL allowLoadOfBlockedMessageContent; @property (readonly) EMContentRepresentation *contentRepresentation; @property (retain, nonatomic) NSError *contentRepresentationError; @property (nonatomic) BOOL showingError; @property (retain, nonatomic) id<EFCancelable> loadingSpinnerTailspinToken; @property (readonly, nonatomic) BOOL shouldHideStickyFooterView; @property (readonly, nonatomic) id<EFScheduler> trustConfigurationScheduler; @property (retain, nonatomic) id<EMContentItem> contentItemForSaveMenu; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } contentItemRectForSaveMenu; @property (retain, nonatomic) MFQuickReplyAnimationContext *quickReplyAnimationContext; @property (retain, nonatomic) UIViewPropertyAnimator *moveMessageBodyPropertyAnimator; @property (nonatomic) BOOL hasCompletedMoveMessageBodyAnimation; @property (weak, nonatomic) id<MFMessageContentViewDelegate> delegate; @property (weak, nonatomic) id<MFMessageContentViewDataSource> dataSource; @property (retain, nonatomic) MessageContentRepresentationRequest *contentRequest; @property (retain, nonatomic) MFMessageLoadingContext *loadingContext; @property (readonly, nonatomic) BOOL sourceIsManaged; @property (readonly, nonatomic) UIScrollView *scrollView; @property (nonatomic) struct CGPoint { double x; double y; } initialContentOffset; @property (readonly, nonatomic) MFMessageHeaderView *headerView; @property (retain, nonatomic) UIView *headerViewSubjectBlock; @property (readonly, nonatomic) MFConversationItemFooterView *footerView; @property (nonatomic) BOOL automaticallyCollapseQuotedContent; @property (nonatomic) BOOL showMessageFooter; @property (nonatomic) BOOL shouldArchiveByDefault; @property (readonly, nonatomic) BOOL mayShareToUnmanaged; @property (nonatomic) long long messageBlockingReason; @property (retain, nonatomic) UIView *previousContentSnapshot; @property (retain, nonatomic) MFMessageDisplayMetrics *displayMetrics; @property (readonly) NSArray *contentItems; @property (nonatomic) BOOL initiallyZoomsToShowAllContent; @property (nonatomic) BOOL suppressScrolling; @property (nonatomic) BOOL contentPaddingFollowsLayoutMargins; @property (nonatomic) BOOL showsBanners; @property (nonatomic, getter=isZoomEnabled) BOOL zoomEnabled; @property (readonly) EMContentRepresentation *contentRepresentationIfAvailable; @property (retain, nonatomic) MFMailboxProvider *mailboxProvider; @property (retain, nonatomic) EMDaemonInterface *daemonInterface; @property (retain, nonatomic) MUIBrandIndicatorProvider *brandIndicatorProvider; @property (retain, nonatomic) EMCachingContactStore *contactStore; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly) unsigned long long signpostID; + (id)log; - (void)reload; - (void)scrollViewWillBeginZooming:(id)a0 withView:(id)a1; - (void)layoutMarginsDidChange; - (void)_webView:(id)a0 renderingProgressDidChange:(unsigned long long)a1; - (void)webView:(id)a0 didFailNavigation:(id)a1 withError:(id)a2; - (void)_webView:(id)a0 dataInteraction:(id)a1 session:(id)a2 didEndWithOperation:(unsigned long long)a3; - (void)scrollViewDidEndZooming:(id)a0 withView:(id)a1 atScale:(double)a2; - (void)selectAll:(id)a0; - (void)webView:(id)a0 didCommitNavigation:(id)a1; - (id)contextMenuInteraction:(id)a0 configuration:(id)a1 highlightPreviewForItemWithIdentifier:(id)a2; - (void)webView:(id)a0 decidePolicyForNavigationAction:(id)a1 decisionHandler:(id /* block */)a2; - (long long)_webView:(id)a0 decidePolicyForFocusedElement:(id)a1; - (void)dealloc; - (long long)_webView:(id)a0 dataOwnerForDragSession:(id)a1; - (void)prepareForReuse; - (void)scrollViewDidZoom:(id)a0; - (id)viewForZoomingInScrollView:(id)a0; - (id)_contextMenuInteraction:(id)a0 styleForMenuWithConfiguration:(id)a1; - (void)contextMenuInteraction:(id)a0 willEndForConfiguration:(id)a1 animator:(id)a2; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)setFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)webView:(id)a0 decidePolicyForNavigationResponse:(id)a1 decisionHandler:(id /* block */)a2; - (id)contextMenuInteraction:(id)a0 configurationForMenuAtLocation:(struct CGPoint { double x0; double x1; })a1; - (void)clearAllDecoratedFoundText; - (void)_layoutLoadingView; - (void)requestRectForFoundTextRange:(id)a0 completionHandler:(id /* block */)a1; - (void)_webView:(id)a0 dataInteraction:(id)a1 sessionWillBegin:(id)a2; - (void)presentViewController:(id)a0; - (void).cxx_destruct; - (void)layoutSubviews; - (id)_webView:(id)a0 adjustedDataInteractionItemProvidersForItemProvider:(id)a1 representingObjects:(id)a2 additionalData:(id)a3; - (void)_webView:(id)a0 contextMenuConfigurationForElement:(id)a1 completionHandler:(id /* block */)a2; - (void)_commonInit; - (BOOL)canPerformAction:(SEL)a0 withSender:(id)a1; - (void)_darkerSystemColorsStatusDidChange:(id)a0; - (id)_webView:(id)a0 previewForCancellingItem:(id)a1 withDefault:(id)a2; - (id)_webView:(id)a0 previewForLiftingItem:(id)a1 session:(id)a2; - (id)_webView:(id)a0 willUpdateDropProposalToProposal:(id)a1 forSession:(id)a2; - (void)presentationController:(id)a0 willPresentWithAdaptiveStyle:(long long)a1 transitionCoordinator:(id)a2; - (void)dismissPresentedViewController:(id)a0; - (void)headerViewDidChangeHeight:(id)a0; - (id)presentedControllerDoneButtonItem; - (void)webView:(id)a0 contextMenuForElement:(id)a1 willCommitWithAnimator:(id)a2; - (void)webView:(id)a0 showLockdownModeFirstUseMessage:(id)a1 completionHandler:(id /* block */)a2; - (id)_dataDetectionContextForWebView:(id)a0; - (void)_webView:(id)a0 didInsertAttachment:(id)a1 withSource:(id)a2; - (void)_webView:(id)a0 webContentProcessDidTerminateWithReason:(long long)a1; - (void)_webViewWebProcessDidBecomeUnresponsive:(id)a0; - (id)viewPrintFormatter; - (id)_bodyFont; - (id)_libraryMessage; - (void)mf_setAsSourceForPopoverPresentationController:(id)a0; - (void)mf_setAsTargetedSourceOnSceneConfiguration:(id)a0; - (void)setLoadingIndicatorVisible:(BOOL)a0 animated:(BOOL)a1; - (void)_addBlockedSenderBannerIfNeeded; - (void)_downloadAllMailDropAttachments; - (BOOL)_lastCrashDateExceedsThreshhold; - (void)_setNeedsPaddingConstantsUpdate; - (void)didTapHasMoreContentBannerView:(id)a0; - (void)_reloadWithRemoteContentAllowed; - (void)_addHasMoreContentBannerWithRemainingBytes:(unsigned long long)a0; - (void)_addHideMyEmailBannerIfNeeded; - (void)_addLoadingSubview:(id)a0; - (void)_adjustHeaderOffsetForZoom; - (double)_adjustWebViewInsetsToAccomodateHeaderAndFooter; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_adjustedRectForWebRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_alertMailDropDownloadIsTooLargeForCell:(BOOL)a0; - (BOOL)_allAttachmentsArePhotosOrVideos; - (id)_attachmentPreviewsFromData:(id)a0; - (void)_beginObservingContentHeight; - (void)_clearAllBannersAnimated:(BOOL)a0; - (void)_clearBlockedSenderBannerAnimated:(BOOL)a0; - (void)_clearHasMoreContentBannerAnimated:(BOOL)a0; - (void)_clearLoadFailedProxyContentBannerAnimated:(BOOL)a0; - (void)_clearLoadRemoteImagesBannerAnimated:(BOOL)a0; - (void)_configureTrustEvaluationsForSignersInSecurityInformation:(id)a0; - (id)_contentItemForElement:(id)a0; - (id)_contextMenuConfigurationForAttachment:(id)a0; - (void)_displayDismissibleAttachmentErrorWithTitle:(id)a0 message:(id)a1; - (void)_expandQuoteWithCollapsedBlockquoteOffset:(double)a0 expandedOffset:(double)a1; - (BOOL)_firstResponderIsInWebView; - (void)_fontSizeDidChange:(id)a0; - (void)_foundImageCIDAttachments:(id)a0; - (void)_handleAttachmentSaveMessage:(id)a0; - (void)_handleAttachmentTapMessage:(id)a0; - (void)_handleBlockSenderListChanged:(id)a0; - (void)_layoutFooterView; - (void)_loadBlockedMessageContactWarning; - (void)_loadBlockedMessageContactWarningWithRepresentation:(id)a0; - (void)_logRequestFinishWithSuccess:(BOOL)a0; - (id)_mailboxForBanner:(id)a0; - (void)_notifyDelegateScrollViewSizeChanged:(struct CGSize { double x0; double x1; })a0; - (BOOL)_objectContainsNonEmptyString:(id)a0; - (void)_observeBlockedSenderListChangedNotification; - (void)_performQuickReplyMoveMessageBodyAnimationIfNeeded; - (void)_performQuickReplySnapshotFadeOutAnimationIfNecessary; - (void)_processDataDetectionMetricsFromResults:(id)a0; - (id)_quotedContentAttributionForMessage:(id)a0; - (void)_reevaluateTrustWithNetworkAccessAllowed; - (void)_reloadUserStyleSheets; - (void)_reloadWithPartiallyEncryptedMessageAllowed; - (void)_removeLoadingSubview:(id)a0; - (void)_requestWebViewLoadWithLoadingContext:(id)a0; - (void)_requestWebViewLoadWithRepresentation:(id)a0; - (void)_resetHeaderOffsetForZoom; - (void)_revealActionsButtonTapped; - (void)_saveContentItemToPicker:(id)a0; - (void)_seeMoreButtonTapped; - (void)_setRemoteContentToLoadWithoutProxy; - (void)_setupWebProcessLocalizedStrings; - (void)_showLoadFailedProxyContentBannerIfNeeded; - (void)_showModalViewController:(id)a0 presentationSource:(id)a1; - (void)_showModalViewController:(id)a0 presentationSource:(id)a1 forceNavigationController:(BOOL)a2; - (void)_stopObservingContentHeight; - (id)_styleSheetWithPadding:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0 useWideLayout:(BOOL)a1; - (void)_triggerWebViewLoad; - (void)_triggerWebViewLoadWithoutShowingContentRepresentation; - (void)_undoSendButtonTapped; - (void)_updateFileWrapperForAttachment:(id)a0 contentID:(id)a1; - (void)_updateMinimumFontSize; - (void)_updateWebViewPaddingConstants; - (double)_viewportWidth; - (id)_webView:(id)a0 previewItem:(id)a1; - (void)clearMessage; - (void)clearSelectedHTML; - (void)contentRequestDidReceiveContentRepresentation:(id)a0 error:(id)a1; - (void)didBeginTextSearch; - (void)didDismissBlockedSenderBannerView:(id)a0; - (void)didDismissHideMyEmailBannerView:(id)a0; - (void)didEndTextSearch; - (void)didTapBlockedSenderBannerView:(id)a0; - (void)didTapHideMyEmailBannerView:(id)a0; - (id)downloadFutureForContentItem:(id)a0; - (void)footerViewDidChangeHeight:(id)a0; - (void)generateSnapshotImageWithCompletion:(id /* block */)a0; - (void)loadBlockedContent; - (void)loadBlockedContentBannerDidTriggerLoad:(id)a0; - (void)loadFailedProxyContentBannerDidTriggerLoad:(id)a0; - (void)loadFailedProxyContentBannerWasDismissed:(id)a0; - (void)loadHasMoreContentBannerIfNecessary; - (void)mailDropBannerDidTriggerDownload:(id)a0; - (void)prepareForQuickReplyAnimationWithContext:(id)a0; - (void)removeQuickReplyAnimationContextIfNecessary; - (void)sceneMovedToForeground; - (void)setAutomaticallyCollapseQuotedContent:(BOOL)a0 reloadIfNeeded:(BOOL)a1; - (void)showDelayedProgressUI; - (void)showSearchResultsAtRange:(id)a0 usingStyle:(unsigned long long)a1; - (void)updateForRedisplay; - (void)webProcessDidBlockLoadingResourceWithURL:(id)a0; - (void)webProcessDidCreateBrowserContextControllerLoadDelegate; - (void)webProcessDidFailLoadingResourceWithURL:(id)a0; - (void)webProcessDidFinishDocumentLoadForURL:(id)a0 andRequestedRemoteURLs:(id)a1; - (void)webProcessDidFinishLoadForURL:(id)a0; - (void)webProcessFailedToLoadResourceWithProxyForURL:(id)a0 failureReason:(long long)a1; @end