luxlabs header browser preview


@class NSURL, WBSTranslationScrollInteractionAnalyticsHelper, _LTTranslator, NSObject, WBSFluidProgressController, _LTTranslationSession, WBSFluidProgressState, NSString, WBSTranslationErrorController, NSMutableSet, WBSTranslationDiagnosticData, NSArray, NSNumber, WBSTranslationContextSnapshot;
@protocol WBSTranslationContentFilling, WBSTranslationContextDelegate, WBSTranslationContentExtracting, WBSTranslationContextLanguageDetecting, WBSTranslationContextTranslating, OS_dispatch_queue, WBSTranslationContextPreferenceProviding;

@interface WBSTranslationContext : NSObject <WBSTranslationErrorControllerDelegate, WBSFluidProgressStateSource, WBSTranslationContentExtractionDelegate, WBSTranslationContentFillingDelegate, WBSTranslationContextTranslating> {
    NSObject<OS_dispatch_queue> *_internalQueue;
    _LTTranslator *_translator;
    _LTTranslationSession *_cachedSession;
    id<WBSTranslationContextTranslating> _contentTranslator;
    id<WBSTranslationContentExtracting> _contentExtractor;
    id<WBSTranslationContentFilling> _contentFiller;
    id<WBSTranslationContextLanguageDetecting> _languageDetector;
    id<WBSTranslationContextDelegate> _delegate;
    NSString *_targetLocale;
    WBSTranslationDiagnosticData *_diagnosticData;
    NSNumber *_cachedClientIsUsingPrivateBrowsingValue;
    NSURL *_cachedWebViewURL;
    WBSTranslationErrorController *_errorController;
    WBSTranslationContextSnapshot *_snapshotToRestoreOnNextNavigation;
    NSArray *_cachedTextSamples;
    BOOL _hasReportedFirstParagraphFinishedFillingForAnalytics;
    BOOL _hasReportedInitialPageFinishedFillingForAnalytics;
    WBSTranslationScrollInteractionAnalyticsHelper *_scrollInteractionAnalyticsHelper;
    NSString *_previousPageTargetLocale;
    NSString *_previousPageSourceLocale;
    NSString *_previousPageHighLevelDomain;
    BOOL _nextNavigationIsEligibleForContinuedTranslation;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _synchronousIvarLock;
    unsigned long long _state;
    NSString *_webpageLocale;
    id<WBSTranslationContextPreferenceProviding> _preferenceProvider;
    NSArray *_cachedSupportedLocalePairs;
    NSNumber *_cachedTranslationSupportedInCurrentRegion;
    unsigned long long _initiallyExtractedParagraphCount;
    unsigned long long _translatedParagraphCount;
    NSMutableSet *_initiallyVisibleParagraphIdentifiersQueuedForTranslation;
    unsigned long long _initiallyVisibleParagraphCount;
    BOOL _hasReportedInitialVisibleParagraphsFinishedFillingForAnalytics;
    BOOL _hasFinishedInitialExtraction;
    WBSFluidProgressState *_fluidProgressState;
    WBSFluidProgressController *_fluidProgressController;
    NSArray *_cachedAllowedTargetLocaleIdentifiers;
    NSArray *_cachedAvailablePreferredTargetLocalesFilteredBySupportedLocales;
}

@property (readonly, nonatomic) NSArray *allowedTargetLocaleIdentifiers;
@property (readonly, nonatomic) NSArray *availableTargetLocaleIdentifiers;
@property (readonly, nonatomic) BOOL shouldOfferTranslationUI;
@property (readonly, nonatomic) unsigned long long detectionNotificationLevel;
@property (readonly, nonatomic) BOOL hasStartedTranslating;
@property (readonly, nonatomic) unsigned long long state;
@property (readonly, nonatomic) NSString *webpageLocale;
@property (weak, nonatomic) WBSFluidProgressController *fluidProgressController;
@property (readonly, weak, nonatomic) id<WBSTranslationContextDelegate> delegate;
@property (readonly, nonatomic) NSString *lastDeterminedWebpageLanguage;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)translationContextWithWebView:(id)a0 delegate:(id)a1;

- (id)_currentSnapshot;
- (BOOL)createFluidProgressState;
- (double)estimatedProgress;
- (BOOL)hasFailedURL;
- (id)expectedOrCurrentURL;
- (id)progressState;
- (id)_currentSession;
- (void).cxx_destruct;
- (void)clearFluidProgressState;
- (void)setWebpageLocaleWithExtractedTextSamples:(id)a0 url:(id)a1 completionHandler:(id /* block */)a2;
- (void)generateDiagnosticDataForPurpose:(unsigned long long)a0 completionHandler:(id /* block */)a1;
- (void)owningWebViewDidCommitNavigationWithURL:(id)a0 completionHandler:(id /* block */)a1;
- (void)owningWebViewDidDecidePolicy:(long long)a0 forNavigationAction:(id)a1 currentBackForwardListItem:(id)a2;
- (void)owningWebViewWillNavigateToBackForwardListItem:(id)a0 inPageCache:(BOOL)a1;
- (void)reloadPageInOriginalLanguage;
- (void)requestSendFeedbackForTranslationIssue:(long long)a0;
- (void)requestTranslatingWebpageToLocale:(id)a0 completionHandler:(id /* block */)a1;
- (void)updateMaxVisibleHeightPercentageIfNeeded:(double)a0 userDriven:(BOOL)a1;
- (void)validateTargetLocale:(id)a0 completionHandler:(id /* block */)a1;
- (void)setPreferenceProvider:(id)a0;
- (void)_updateCachedAPISupportedValues;
- (id)_availableTargetLocaleIdentifiersConsideringCurrentWebpageLocale:(BOOL)a0;
- (BOOL)_canLogSourcePageURL;
- (void)_cancelProgressForNavigation:(BOOL)a0;
- (void)_computeVisibleParagraphsIfDuringInitialExtraction:(id)a0;
- (void)_dominantLocaleForTextSamples:(id)a0 url:(id)a1 completionHandler:(id /* block */)a2;
- (double)_estimatedProgressWithScope:(long long)a0;
- (void)_generateJSONVersionOfContent:(id)a0 forPurpose:(unsigned long long)a1 completionHandler:(id /* block */)a2;
- (void)_generateJSONVersionOfErrors:(id)a0 completionHandler:(id /* block */)a1;
- (id)_genericErrorMessage;
- (BOOL)_nextURLIsEligibleForContinuedTranslation:(id)a0;
- (void)_notifyDelegateToReportProgressInUnifiedField:(BOOL)a0;
- (void)_promptIfNeededToConsentToTranslationWithCompletionHandler:(id /* block */)a0;
- (void)_reportFilledFirstParagraphIfNeeded;
- (void)_reportFinishedFillingInitialPageContentIfNeeded;
- (void)_reportFinishedFillingInitialVisiblePageContentIfNeeded;
- (void)_reportLanguageDetectionAnalyticsForWebpageLocale:(id)a0 notificationLevel:(unsigned long long)a1;
- (void)_reportRequestedTranslationAnalyticsForWebpageLocale:(id)a0 targetLocale:(id)a1 requestType:(long long)a2;
- (void)_requestTranslatingWebpageToLocale:(id)a0 requestType:(long long)a1 completionHandler:(id /* block */)a2;
- (BOOL)_restoreContextSnapshotIfNeeded:(id)a0 forURL:(id)a1;
- (void)_setState:(unsigned long long)a0 usingLock:(BOOL)a1;
- (void)_setState:(unsigned long long)a0 usingLock:(BOOL)a1 validatingTransitionIsAllowed:(BOOL)a2;
- (void)_startProgressForExtractingContent;
- (BOOL)_translationSupportedInCurrentRegion;
- (void)_updateProgressForFinishingInitialContentExtraction;
- (void)_updateProgressWithExtractedParagraphCount:(unsigned long long)a0;
- (void)_updateProgressWithTranslatedParagraphCount:(unsigned long long)a0;
- (id)_userVisibleErrorMessageForError:(id)a0;
- (BOOL)_validateTargetLocaleSynchronously:(id)a0;
- (void)cacheTextSamples:(id)a0;
- (void)contentExtractor:(id)a0 didExtractContent:(id)a1;
- (void)contentExtractorDidFinishExtractingInitialContent:(id)a0;
- (void)contentFiller:(id)a0 didCompleteFillingItem:(id)a1 withError:(id)a2;
- (BOOL)debugAlwaysShowConsentAlert;
- (BOOL)debugDelayLanguageDetection;
- (void)dominantLocaleForTextSamples:(id)a0 completionHandler:(id /* block */)a1;
- (void)dominantLocaleForTextSamples:(id)a0 url:(id)a1 completionHandler:(id /* block */)a2;
- (void)errorController:(id)a0 didReachThresholdForError:(id)a1;
- (BOOL)hasConsentedToFirstTimeAlert;
- (BOOL)hideMessageInUnifiedField;
- (id)initWithContentExtractor:(id)a0 contentFiller:(id)a1 delegate:(id)a2;
- (BOOL)isContinuedTranslationEnabled;
- (BOOL)isTranslationEnabled;
- (void)isTranslationSupportedForCurrentRegionWithCompletionHandler:(id /* block */)a0;
- (void)owningWebViewWillNavigateAndSaveCurrentSnapshotToStore:(id)a0 isEligibleForContinuedTranslation:(BOOL)a1;
- (void)owningWebViewWillNavigateToBackForwardListItemWithSnapshotStore:(id)a0 inPageCache:(BOOL)a1;
- (void)requestSendFeedbackWithCompletionHandler:(id /* block */)a0;
- (void)setConsentedToFirstTimeAlert:(BOOL)a0;
- (void)setContentTranslator:(id)a0;
- (void)setWebpageLocaleUsingCachedTextSamplesIfNeeded:(id /* block */)a0;
- (id)sourceLocaleForContentExtractor:(id)a0;
- (void)supportedLocalePairsWithCompletionHandler:(id /* block */)a0;
- (id)targetLocaleForContentExtractor:(id)a0;
- (void)translationContext:(id)a0 translateWebpageContents:(id)a1 toTargetLocale:(id)a2 translationHandler:(id /* block */)a3;
- (id)userPreferredTargetLocales;
- (BOOL)validateTargetLocale:(id)a0;
- (id)webpageLocaleInWebExtensionFormat;

@end