@class NSURL, BKSProcessAssertion, NSObject, NSMutableArray, NSString, LPEvent, LPMetadataProviderSpecialization, NSTimer, LPFetcherGroup, NSURLRequest, LPLinkMetadata, LPAnimatedImageTranscoder, WKWebView; @protocol OS_dispatch_group; @interface LPMetadataProvider : NSObject { unsigned int _loggingID; WKWebView *_webView; NSURLRequest *_URLRequest; NSURL *_originalURL; NSTimer *_watchdog; BKSProcessAssertion *_processAssertion; LPEvent *_mainResourceLoadEvent; LPEvent *_webProcessLaunchEvent; LPLinkMetadata *_metadata; BOOL _complete; BOOL _fetchingFromExistingWebView; BOOL _hasStartedFetching; BOOL _hasStartedFetchingMetadataFromWebView; BOOL _timedOut; BOOL _subresourceFetchIsNonAppInitiated; NSObject *_subresourceFetchGroup; LPFetcherGroup *_iconFetcherGroup; LPAnimatedImageTranscoder *_imageTranscoder; NSMutableArray *_pendingFetchers; long long _specializationState; LPMetadataProviderSpecialization *_specializedMetadataProvider; } @property (copy, nonatomic) id /* block */ completionHandler; @property BOOL cancelled; @property (readonly, nonatomic) LPEvent *_event; @property (nonatomic) BOOL useSpecializedProviders; @property (nonatomic) BOOL fetchSubresources; @property (nonatomic, setter=_setShouldDownloadImageSubresources:) BOOL _shouldDownloadImageSubresources; @property (nonatomic, setter=_setShouldDownloadMediaSubresources:) BOOL _shouldDownloadMediaSubresources; @property (nonatomic) unsigned long long allowedSpecializedProviders; @property (nonatomic) BOOL shouldFetchSubresources; @property (nonatomic) double timeout; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)_callbackQueue; + (id)_copyDefaultWebViewConfiguration; + (id)_defaultUserAgent; + (id)_incompleteMetadataRequests; + (id)_postProcessingQueue; + (id)_requestMetadataForRequest:(id)a0 completionHandler:(id /* block */)a1; + (void)_requestSourceApplicationMetadataForBundleIdentifier:(id)a0 completionHandler:(id /* block */)a1; + (id)requestMetadataForURL:(id)a0 completionHandler:(id /* block */)a1; + (id)requestMetadataForWebView:(id)a0 completionHandler:(id /* block */)a1; - (void)webView:(id)a0 didFailNavigation:(id)a1 withError:(id)a2; - (void)webView:(id)a0 didFailProvisionalNavigation:(id)a1 withError:(id)a2; - (void)webView:(id)a0 decidePolicyForNavigationAction:(id)a1 decisionHandler:(id /* block */)a2; - (id)init; - (void)webView:(id)a0 didFinishNavigation:(id)a1; - (void)dealloc; - (void)webViewWebContentProcessDidTerminate:(id)a0; - (void)webView:(id)a0 decidePolicyForNavigationResponse:(id)a1 decisionHandler:(id /* block */)a2; - (void).cxx_destruct; - (void)cancel; - (void)webView:(id)a0 didStartProvisionalNavigation:(id)a1; - (void)startFetchingMetadataForURL:(id)a0 completionHandler:(id /* block */)a1; - (id)_startFetchingMetadataForURL:(id)a0 completionHandler:(id /* block */)a1; - (void)_setMetadata:(id)a0 onlyUpgradeFields:(BOOL)a1; - (id)subresourceFetcherConfiguration; - (void)_cancelDueToTimeout; - (void)_completedWithError:(id)a0; - (void)_failedWithErrorCode:(long long)a0 underlyingError:(id)a1; - (void)_fetchAssociatedApplicationMetadataWithCompletionHandler:(id /* block */)a0; - (void)_fetchImplicitIcons; - (void)_fetchMetadataFromWebView; - (void)_fetchSubresources; - (void)_fetchedMetadata:(id)a0; - (void)_generateSpecializationIfPossibleForCompleteMetadata:(id)a0 completionHandler:(id /* block */)a1; - (void)_internalPostProcessResolvedMetadataWithCompletionHandler:(id /* block */)a0; - (void)_internalStartFetchingMetadataForWebView:(id)a0 isNonAppInitiated:(BOOL)a1 completionHandler:(id /* block */)a2; - (void)_internalStartFetchingMetadataFromURLRequest; - (void)_postProcessResolvedMetadataWithCompletionHandler:(id /* block */)a0; - (void)_propagateYouTubeTimestamps; - (void)_redistinguishImagesAndIcons; - (BOOL)_shouldFailFetchDueToLockdownModeWithCompletionHandler:(id /* block */)a0; - (void)_simplifyTitle; - (id)_startFetchingMetadataForRequest:(id)a0 completionHandler:(id /* block */)a1; - (id)_startFetchingMetadataForWebView:(id)a0 completionHandler:(id /* block */)a1; - (id)_startFetchingMetadataForWebView:(id)a0 isNonAppInitiated:(BOOL)a1 completionHandler:(id /* block */)a2; - (void)_startFetchingSubresourcesForPartialMetadata:(id)a0 isNonAppInitiated:(BOOL)a1 completionHandler:(id /* block */)a2; - (void)_startWatchdogTimer; - (void)_stopWatchdogTimer; - (BOOL)_switchToSpecializationIfPossibleForMIMEType:(id)a0 URL:(id)a1 hasLoadedResource:(BOOL)a2; - (BOOL)_switchToSpecializationIfPossibleForMetadata:(id)a0 URL:(id)a1; - (BOOL)_switchToSpecializationIfPossibleForURL:(id)a0; - (void)_willStartFetchingMetadata; - (void)metadataProviderSpecialization:(id)a0 didCompleteWithMetadata:(id)a1; - (void)metadataProviderSpecialization:(id)a0 didFetchPreliminaryMetadata:(id)a1; - (void)metadataProviderSpecializationDidFail:(id)a0; - (void)startFetchingMetadataForRequest:(id)a0 completionHandler:(id /* block */)a1; - (void)startFetchingMetadataForWebView:(id)a0 completionHandler:(id /* block */)a1; - (void)startFetchingSubresourcesForPartialMetadata:(id)a0 completionHandler:(id /* block */)a1; @end