text:
typedef void (^CDUnknownBlockType)(void); // return type and parameters are unknown

#pragma mark Named Structures

struct BookmarkAndHistoryCompletionMatch;

struct CGPoint {
    double x;
    double y;
};

struct CGRect {
    struct CGPoint _field1;
    struct CGSize _field2;
};

struct CGSize {
    double _field1;
    double _field2;
};

struct CoalescedAsynchronousWriter;

struct FrameMetadata {
    CDUnknownFunctionPointerType *_field1;
    struct Vector<OpaqueJSValue *, 0, WTF::CrashOnOverflow> _field2;
    struct OpaqueJSValue *_field3;
    struct OpaqueJSValue *_field4;
    struct OpaqueJSContext *_field5;
    id _field6;
    id _field7;
};

struct HashMap<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>, WTF::PtrHash<OpaqueFormAutoFillFrame *>, WTF::HashTraits<OpaqueFormAutoFillFrame *>, WTF::HashTraits<WTF::OwnPtr<FrameMetadata>>> {
    struct HashTable<OpaqueFormAutoFillFrame *, WTF::KeyValuePair<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>>>, WTF::PtrHash<OpaqueFormAutoFillFrame *>, WTF::HashMap<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>, WTF::PtrHash<OpaqueFormAutoFillFrame *>, WTF::HashTraits<OpaqueFormAutoFillFrame *>, WTF::HashTraits<WTF::OwnPtr<FrameMetadata>>>::KeyValuePairTraits, WTF::HashTraits<OpaqueFormAutoFillFrame *>> m_impl;
};

struct HashTable<OpaqueFormAutoFillFrame *, WTF::KeyValuePair<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>>>, WTF::PtrHash<OpaqueFormAutoFillFrame *>, WTF::HashMap<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>, WTF::PtrHash<OpaqueFormAutoFillFrame *>, WTF::HashTraits<OpaqueFormAutoFillFrame *>, WTF::HashTraits<WTF::OwnPtr<FrameMetadata>>>::KeyValuePairTraits, WTF::HashTraits<OpaqueFormAutoFillFrame *>> {
    struct KeyValuePair<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>> *m_table;
    int m_tableSize;
    int m_tableSizeMask;
    int m_keyCount;
    int m_deletedCount;
};

struct KeyValuePair<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>>;

struct OpaqueJSContext;

struct OpaqueJSValue;

struct PassRefPtr<SafariShared::BookmarkAndHistoryCompletionMatch> {
    struct BookmarkAndHistoryCompletionMatch *_field1;
};

struct RawData {
    _Bool _field1;
    void *_field2;
    int _field3;
};

struct RefPtr<SafariShared::BookmarkAndHistoryCompletionMatch> {
    struct BookmarkAndHistoryCompletionMatch *m_ptr;
};

struct SuddenTerminationDisabler;

struct URLCompletionDatabase;

struct Vector<OpaqueJSValue *, 0, WTF::CrashOnOverflow> {
    struct OpaqueJSValue **_field1;
    unsigned int _field2;
    unsigned int _field3;
};

struct Vector<double, 0, WTF::CrashOnOverflow> {
    double *m_buffer;
    unsigned int m_capacity;
    unsigned int m_size;
};

struct Vector<int, 0, WTF::CrashOnOverflow> {
    int *m_buffer;
    unsigned int m_capacity;
    unsigned int m_size;
};

struct _NSRange {
    unsigned long long _field1;
    unsigned long long _field2;
};

struct duration<long long, std::__1::ratio<1, 1000000000>> {
    long long __rep_;
};

struct duration<long long, std::__1::ratio<1, 1000>> {
    long long __rep_;
};

struct time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1, 1000000000>>> {
    struct duration<long long, std::__1::ratio<1, 1000000000>> __d_;
};

struct unique_ptr<SafariShared::CoalescedAsynchronousWriter, std::__1::default_delete<SafariShared::CoalescedAsynchronousWriter>> {
    struct __compressed_pair<SafariShared::CoalescedAsynchronousWriter *, std::__1::default_delete<SafariShared::CoalescedAsynchronousWriter>> {
        struct CoalescedAsynchronousWriter *__first_;
    } __ptr_;
};

struct unique_ptr<SafariShared::SuddenTerminationDisabler, std::__1::default_delete<SafariShared::SuddenTerminationDisabler>> {
    struct __compressed_pair<SafariShared::SuddenTerminationDisabler *, std::__1::default_delete<SafariShared::SuddenTerminationDisabler>> {
        struct SuddenTerminationDisabler *__first_;
    } __ptr_;
};

struct unique_ptr<SafariShared::URLCompletionDatabase, std::__1::default_delete<SafariShared::URLCompletionDatabase>> {
    struct __compressed_pair<SafariShared::URLCompletionDatabase *, std::__1::default_delete<SafariShared::URLCompletionDatabase>> {
        struct URLCompletionDatabase *__first_;
    } __ptr_;
};

#pragma mark Typedef'd Structures

typedef struct {
    struct {
        unsigned short _field1;
        unsigned short _field2;
    } _field1[32];
    unsigned long long _field2;
} CDStruct_f2b84ca7;

// Template types
typedef struct PassRefPtr<SafariShared::BookmarkAndHistoryCompletionMatch> {
    struct BookmarkAndHistoryCompletionMatch *_field1;
} PassRefPtr_8dece646;

typedef struct Vector<double, 0, WTF::CrashOnOverflow> {
    double *m_buffer;
    unsigned int m_capacity;
    unsigned int m_size;
} Vector_4bee0f08;

typedef struct duration<long long, std::__1::ratio<1, 1000>> {
    long long __rep_;
} duration_6174cf92;

typedef struct time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1, 1000000000>>> {
    struct duration<long long, std::__1::ratio<1, 1000000000>> __d_;
} time_point_e708cccf;

#pragma mark -

//
// File: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/WebUI.framework/WebUI
// UUID: D57784AD-A1A2-3597-93EA-2BE2069130EC
//
//                           Arch: x86_64
//                Current version: 1.0.0
//          Compatibility version: 1.0.0
//                 Source version: 404.0.0.0.0
//            Minimum iOS version: 8.0.0
//                    SDK version: 8.0.0
//
// Objective-C Garbage Collection: Unsupported
//

@protocol CLLocationManagerDelegate <NSObject>

@optional
- (void)locationManager:(CLLocationManager *)arg1 didVisit:(CLVisit *)arg2;
- (void)locationManager:(CLLocationManager *)arg1 didFinishDeferredUpdatesWithError:(NSError *)arg2;
- (void)locationManagerDidResumeLocationUpdates:(CLLocationManager *)arg1;
- (void)locationManagerDidPauseLocationUpdates:(CLLocationManager *)arg1;
- (void)locationManager:(CLLocationManager *)arg1 didStartMonitoringForRegion:(CLRegion *)arg2;
- (void)locationManager:(CLLocationManager *)arg1 didChangeAuthorizationStatus:(int)arg2;
- (void)locationManager:(CLLocationManager *)arg1 monitoringDidFailForRegion:(CLRegion *)arg2 withError:(NSError *)arg3;
- (void)locationManager:(CLLocationManager *)arg1 didFailWithError:(NSError *)arg2;
- (void)locationManager:(CLLocationManager *)arg1 didExitRegion:(CLRegion *)arg2;
- (void)locationManager:(CLLocationManager *)arg1 didEnterRegion:(CLRegion *)arg2;
- (void)locationManager:(CLLocationManager *)arg1 rangingBeaconsDidFailForRegion:(CLBeaconRegion *)arg2 withError:(NSError *)arg3;
- (void)locationManager:(CLLocationManager *)arg1 didRangeBeacons:(NSArray *)arg2 inRegion:(CLBeaconRegion *)arg3;
- (void)locationManager:(CLLocationManager *)arg1 didDetermineState:(long long)arg2 forRegion:(CLRegion *)arg3;
- (_Bool)locationManagerShouldDisplayHeadingCalibration:(CLLocationManager *)arg1;
- (void)locationManager:(CLLocationManager *)arg1 didUpdateHeading:(CLHeading *)arg2;
- (void)locationManager:(CLLocationManager *)arg1 didUpdateLocations:(NSArray *)arg2;
- (void)locationManager:(CLLocationManager *)arg1 didUpdateToLocation:(CLLocation *)arg2 fromLocation:(CLLocation *)arg3;
@end

@protocol NSCoding
- (id)initWithCoder:(NSCoder *)arg1;
- (void)encodeWithCoder:(NSCoder *)arg1;
@end

@protocol NSCopying
- (id)copyWithZone:(struct _NSZone *)arg1;
@end

@protocol NSObject
@property(readonly, copy) NSString *description;
@property(readonly) Class superclass;
@property(readonly) unsigned long long hash;
- (struct _NSZone *)zone;
- (unsigned long long)retainCount;
- (id)autorelease;
- (oneway void)release;
- (id)retain;
- (_Bool)respondsToSelector:(SEL)arg1;
- (_Bool)conformsToProtocol:(Protocol *)arg1;
- (_Bool)isMemberOfClass:(Class)arg1;
- (_Bool)isKindOfClass:(Class)arg1;
- (_Bool)isProxy;
- (id)performSelector:(SEL)arg1 withObject:(id)arg2 withObject:(id)arg3;
- (id)performSelector:(SEL)arg1 withObject:(id)arg2;
- (id)performSelector:(SEL)arg1;
- (id)self;
- (Class)class;
- (_Bool)isEqual:(id)arg1;

@optional
@property(readonly, copy) NSString *debugDescription;
@end

@protocol NSSecureCoding <NSCoding>
+ (_Bool)supportsSecureCoding;
@end

@protocol NSURLConnectionDelegate <NSObject>

@optional
- (void)connection:(NSURLConnection *)arg1 didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)arg2;
- (void)connection:(NSURLConnection *)arg1 didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)arg2;
- (_Bool)connection:(NSURLConnection *)arg1 canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)arg2;
- (void)connection:(NSURLConnection *)arg1 willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)arg2;
- (_Bool)connectionShouldUseCredentialStorage:(NSURLConnection *)arg1;
- (void)connection:(NSURLConnection *)arg1 didFailWithError:(NSError *)arg2;
@end

@protocol SafariSearchHelper
- (void)fetchOpenSearchDescriptionWithURL:(NSURL *)arg1 completionHandler:(void (^)(NSDictionary *, NSError *))arg2;
@end

@protocol SafariSocialHelper
- (void)performRepostRequestForServiceType:(NSString *)arg1 URL:(NSURL *)arg2 accountIdentifier:(NSString *)arg3 completionHandler:(void (^)(NSNumber *, NSError *))arg4;
- (void)performGetItemsRequestForServiceType:(NSString *)arg1 URL:(NSURL *)arg2 parameters:(NSDictionary *)arg3 accountIdentifier:(NSString *)arg4 completionHandler:(void (^)(NSDictionary *, NSError *))arg5;
@end

@protocol SafariWebFeedParser
- (void)fetchEntriesForFeedURL:(NSURL *)arg1 completionHandler:(void (^)(NSArray *, WBSFeedMetadata *, NSError *))arg2;
@end

@protocol TIAddressBookMeCard
- (void)requestMeCardWithCompletionHandler:(void (^)(NSData *))arg1;
@end

@protocol UIActionSheetDelegate <NSObject>

@optional
- (void)actionSheet:(UIActionSheet *)arg1 didDismissWithButtonIndex:(long long)arg2;
- (void)actionSheet:(UIActionSheet *)arg1 willDismissWithButtonIndex:(long long)arg2;
- (void)didPresentActionSheet:(UIActionSheet *)arg1;
- (void)willPresentActionSheet:(UIActionSheet *)arg1;
- (void)actionSheetCancel:(UIActionSheet *)arg1;
- (void)actionSheet:(UIActionSheet *)arg1 clickedButtonAtIndex:(long long)arg2;
@end

@protocol UIAlertViewDelegate <NSObject>

@optional
- (_Bool)alertViewShouldEnableFirstOtherButton:(UIAlertView *)arg1;
- (void)alertView:(UIAlertView *)arg1 didDismissWithButtonIndex:(long long)arg2;
- (void)alertView:(UIAlertView *)arg1 willDismissWithButtonIndex:(long long)arg2;
- (void)didPresentAlertView:(UIAlertView *)arg1;
- (void)willPresentAlertView:(UIAlertView *)arg1;
- (void)alertViewCancel:(UIAlertView *)arg1;
- (void)alertView:(UIAlertView *)arg1 clickedButtonAtIndex:(long long)arg2;
@end

@protocol UINavigationControllerDelegate <NSObject>

@optional
- (id <UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)arg1 animationControllerForOperation:(long long)arg2 fromViewController:(UIViewController *)arg3 toViewController:(UIViewController *)arg4;
- (id <UIViewControllerInteractiveTransitioning>)navigationController:(UINavigationController *)arg1 interactionControllerForAnimationController:(id <UIViewControllerAnimatedTransitioning>)arg2;
- (long long)navigationControllerPreferredInterfaceOrientationForPresentation:(UINavigationController *)arg1;
- (unsigned long long)navigationControllerSupportedInterfaceOrientations:(UINavigationController *)arg1;
- (void)navigationController:(UINavigationController *)arg1 didShowViewController:(UIViewController *)arg2 animated:(_Bool)arg3;
- (void)navigationController:(UINavigationController *)arg1 willShowViewController:(UIViewController *)arg2 animated:(_Bool)arg3;
@end

@protocol UIPrintInteractionControllerDelegate <NSObject>

@optional
- (double)printInteractionController:(UIPrintInteractionController *)arg1 cutLengthForPaper:(UIPrintPaper *)arg2;
- (void)printInteractionControllerDidFinishJob:(UIPrintInteractionController *)arg1;
- (void)printInteractionControllerWillStartJob:(UIPrintInteractionController *)arg1;
- (void)printInteractionControllerDidDismissPrinterOptions:(UIPrintInteractionController *)arg1;
- (void)printInteractionControllerWillDismissPrinterOptions:(UIPrintInteractionController *)arg1;
- (void)printInteractionControllerDidPresentPrinterOptions:(UIPrintInteractionController *)arg1;
- (void)printInteractionControllerWillPresentPrinterOptions:(UIPrintInteractionController *)arg1;
- (UIPrintPaper *)printInteractionController:(UIPrintInteractionController *)arg1 choosePaper:(NSArray *)arg2;
- (UIViewController *)printInteractionControllerParentViewController:(UIPrintInteractionController *)arg1;
@end

@protocol UIScrollViewDelegate <NSObject>

@optional
- (void)scrollViewDidScrollToTop:(UIScrollView *)arg1;
- (_Bool)scrollViewShouldScrollToTop:(UIScrollView *)arg1;
- (void)scrollViewDidEndZooming:(UIScrollView *)arg1 withView:(UIView *)arg2 atScale:(double)arg3;
- (void)scrollViewWillBeginZooming:(UIScrollView *)arg1 withView:(UIView *)arg2;
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)arg1;
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)arg1;
- (void)scrollViewDidEndDecelerating:(UIScrollView *)arg1;
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)arg1;
- (void)scrollViewDidEndDragging:(UIScrollView *)arg1 willDecelerate:(_Bool)arg2;
- (void)scrollViewWillEndDragging:(UIScrollView *)arg1 withVelocity:(struct CGPoint)arg2 targetContentOffset:(inout struct CGPoint *)arg3;
- (void)scrollViewWillBeginDragging:(UIScrollView *)arg1;
- (void)scrollViewDidZoom:(UIScrollView *)arg1;
- (void)scrollViewDidScroll:(UIScrollView *)arg1;
@end

@protocol UITableViewDataSource <NSObject>
- (UITableViewCell *)tableView:(UITableView *)arg1 cellForRowAtIndexPath:(NSIndexPath *)arg2;
- (long long)tableView:(UITableView *)arg1 numberOfRowsInSection:(long long)arg2;

@optional
- (void)tableView:(UITableView *)arg1 moveRowAtIndexPath:(NSIndexPath *)arg2 toIndexPath:(NSIndexPath *)arg3;
- (void)tableView:(UITableView *)arg1 commitEditingStyle:(long long)arg2 forRowAtIndexPath:(NSIndexPath *)arg3;
- (long long)tableView:(UITableView *)arg1 sectionForSectionIndexTitle:(NSString *)arg2 atIndex:(long long)arg3;
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)arg1;
- (_Bool)tableView:(UITableView *)arg1 canMoveRowAtIndexPath:(NSIndexPath *)arg2;
- (_Bool)tableView:(UITableView *)arg1 canEditRowAtIndexPath:(NSIndexPath *)arg2;
- (NSString *)tableView:(UITableView *)arg1 titleForFooterInSection:(long long)arg2;
- (NSString *)tableView:(UITableView *)arg1 titleForHeaderInSection:(long long)arg2;
- (long long)numberOfSectionsInTableView:(UITableView *)arg1;
@end

@protocol UITableViewDelegate <NSObject, UIScrollViewDelegate>

@optional
- (void)tableView:(UITableView *)arg1 performAction:(SEL)arg2 forRowAtIndexPath:(NSIndexPath *)arg3 withSender:(id)arg4;
- (_Bool)tableView:(UITableView *)arg1 canPerformAction:(SEL)arg2 forRowAtIndexPath:(NSIndexPath *)arg3 withSender:(id)arg4;
- (_Bool)tableView:(UITableView *)arg1 shouldShowMenuForRowAtIndexPath:(NSIndexPath *)arg2;
- (long long)tableView:(UITableView *)arg1 indentationLevelForRowAtIndexPath:(NSIndexPath *)arg2;
- (NSIndexPath *)tableView:(UITableView *)arg1 targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)arg2 toProposedIndexPath:(NSIndexPath *)arg3;
- (void)tableView:(UITableView *)arg1 didEndEditingRowAtIndexPath:(NSIndexPath *)arg2;
- (void)tableView:(UITableView *)arg1 willBeginEditingRowAtIndexPath:(NSIndexPath *)arg2;
- (_Bool)tableView:(UITableView *)arg1 shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)arg2;
- (NSArray *)tableView:(UITableView *)arg1 editActionsForRowAtIndexPath:(NSIndexPath *)arg2;
- (NSString *)tableView:(UITableView *)arg1 titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)arg2;
- (long long)tableView:(UITableView *)arg1 editingStyleForRowAtIndexPath:(NSIndexPath *)arg2;
- (void)tableView:(UITableView *)arg1 didDeselectRowAtIndexPath:(NSIndexPath *)arg2;
- (void)tableView:(UITableView *)arg1 didSelectRowAtIndexPath:(NSIndexPath *)arg2;
- (NSIndexPath *)tableView:(UITableView *)arg1 willDeselectRowAtIndexPath:(NSIndexPath *)arg2;
- (NSIndexPath *)tableView:(UITableView *)arg1 willSelectRowAtIndexPath:(NSIndexPath *)arg2;
- (void)tableView:(UITableView *)arg1 didUnhighlightRowAtIndexPath:(NSIndexPath *)arg2;
- (void)tableView:(UITableView *)arg1 didHighlightRowAtIndexPath:(NSIndexPath *)arg2;
- (_Bool)tableView:(UITableView *)arg1 shouldHighlightRowAtIndexPath:(NSIndexPath *)arg2;
- (void)tableView:(UITableView *)arg1 accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)arg2;
- (long long)tableView:(UITableView *)arg1 accessoryTypeForRowWithIndexPath:(NSIndexPath *)arg2;
- (UIView *)tableView:(UITableView *)arg1 viewForFooterInSection:(long long)arg2;
- (UIView *)tableView:(UITableView *)arg1 viewForHeaderInSection:(long long)arg2;
- (double)tableView:(UITableView *)arg1 estimatedHeightForFooterInSection:(long long)arg2;
- (double)tableView:(UITableView *)arg1 estimatedHeightForHeaderInSection:(long long)arg2;
- (double)tableView:(UITableView *)arg1 estimatedHeightForRowAtIndexPath:(NSIndexPath *)arg2;
- (double)tableView:(UITableView *)arg1 heightForFooterInSection:(long long)arg2;
- (double)tableView:(UITableView *)arg1 heightForHeaderInSection:(long long)arg2;
- (double)tableView:(UITableView *)arg1 heightForRowAtIndexPath:(NSIndexPath *)arg2;
- (void)tableView:(UITableView *)arg1 didEndDisplayingFooterView:(UIView *)arg2 forSection:(long long)arg3;
- (void)tableView:(UITableView *)arg1 didEndDisplayingHeaderView:(UIView *)arg2 forSection:(long long)arg3;
- (void)tableView:(UITableView *)arg1 didEndDisplayingCell:(UITableViewCell *)arg2 forRowAtIndexPath:(NSIndexPath *)arg3;
- (void)tableView:(UITableView *)arg1 willDisplayFooterView:(UIView *)arg2 forSection:(long long)arg3;
- (void)tableView:(UITableView *)arg1 willDisplayHeaderView:(UIView *)arg2 forSection:(long long)arg3;
- (void)tableView:(UITableView *)arg1 willDisplayCell:(UITableViewCell *)arg2 forRowAtIndexPath:(NSIndexPath *)arg3;
@end

@protocol UIWebAutoFillDelegate <NSObject>
- (void)webBrowserView:(UIWebBrowserView *)arg1 acceptedAutoFillWord:(NSString *)arg2;
- (NSArray *)webBrowserView:(UIWebBrowserView *)arg1 suggestionsForString:(NSString *)arg2;
- (_Bool)hasCurrentSuggestionsForWebBrowserView:(UIWebBrowserView *)arg1;
- (void)webBrowserView:(UIWebBrowserView *)arg1 didFocusTextField:(DOMHTMLInputElement *)arg2 inFrame:(WebFrame *)arg3;
- (void)webBrowserView:(UIWebBrowserView *)arg1 didEndEditingTextField:(DOMHTMLInputElement *)arg2 inFrame:(WebFrame *)arg3;
- (void)webBrowserView:(UIWebBrowserView *)arg1 didBeginEditingTextField:(DOMHTMLInputElement *)arg2 inFrame:(WebFrame *)arg3;
- (void)webBrowserView:(UIWebBrowserView *)arg1 willSubmitForm:(DOMElement *)arg2 toFrame:(WebFrame *)arg3 fromFrame:(WebFrame *)arg4 withValues:(NSDictionary *)arg5 submissionHandler:(void (^)(void))arg6;
- (void)webBrowserView:(UIWebBrowserView *)arg1 preFillInFrame:(WebFrame *)arg2;
- (void)autoFillInWebBrowserView:(UIWebBrowserView *)arg1;
- (void)webBrowserView:(UIWebBrowserView *)arg1 updateAutoFillButton:(UIBarButtonItem *)arg2;
- (_Bool)webBrowserViewShouldShowAutoFillButton:(UIWebBrowserView *)arg1;

@optional
- (NSString *)titleOfAutoFillButtonInWebBrowserView:(UIWebBrowserView *)arg1;
- (void)webBrowserView:(UIWebBrowserView *)arg1 willSendSubmitEventToForm:(DOMHTMLFormElement *)arg2 inFrame:(WebFrame *)arg3 withValues:(NSDictionary *)arg4;
- (void)webBrowserView:(UIWebBrowserView *)arg1 clearFormAutoFillStateForFrame:(WebFrame *)arg2;
- (void)webBrowserView:(UIWebBrowserView *)arg1 textDidChangeInTextField:(DOMHTMLInputElement *)arg2 inFrame:(WebFrame *)arg3;
@end

@protocol WBSCloudHistorySyncThrottlerDataStore <NSObject>
- (void)setRecordOfPastOperations:(NSData *)arg1 forThrottler:(WBSCloudHistorySyncThrottler *)arg2;
- (NSData *)recordOfPastOperationsForThrottler:(WBSCloudHistorySyncThrottler *)arg1;
@end

@protocol WBSCompletionListItem <NSObject>
@property(readonly, nonatomic) NSString *parsecDomainIdentifier;
@end

@protocol WBSFormAutoFillFrame <NSObject>
- (_Bool)containsAnyFormElements;
- (void)enumerateChildFramesUsingBlock:(void (^)(id <WBSFormAutoFillFrame>))arg1;
- (NSURL *)committedURL;
- (struct OpaqueJSValue *)jsWrapperInMetadataControllerScriptWorldForNode:(id <WBSFormAutoFillNode>)arg1;
- (struct OpaqueJSContext *)jsContextForMetadataControllerScriptWorld;
- (struct OpaqueFormAutoFillFrame *)frameRef;
@end

@protocol WBSFormAutoFillNode <NSObject>
- (id <WBSFormAutoFillNode>)htmlTableCellElementCellAbove;
- (_Bool)isHTMLTextAreaElementUserEdited;
- (_Bool)isHTMLInputElementUserEdited;
- (void)setHTMLInputElementAutofilled:(_Bool)arg1;
- (_Bool)isHTMLInputElementAutofilled;
- (struct CGRect)elementBounds;
- (id)initWithJSWrapper:(struct OpaqueJSValue *)arg1 inContext:(struct OpaqueJSContext *)arg2;
@end

@protocol WBSFormsMetadataProvider <NSObject>
@property(readonly, nonatomic) unsigned long long formCount;
- (void)enumerateFormsUsingBlock:(void (^)(struct OpaqueFormAutoFillFrame *, NSDictionary *, _Bool *))arg1;
@end

@protocol WBSHistoryLoader <NSObject>
- (void)waitForLoadingToComplete;
- (void)startLoading;
- (id)initWithURL:(NSURL *)arg1 itemCountLimit:(unsigned long long)arg2 ageLimit:(double)arg3 historyItemClass:(Class)arg4;
@end

@protocol WBSHistoryLoaderDelegate <NSObject>
- (void)historyLoaderDidFinishLoading:(id <WBSHistoryLoader>)arg1;
- (void)historyLoader:(id <WBSHistoryLoader>)arg1 didLoadItems:(NSArray *)arg2 discardedItems:(NSArray *)arg3 stringsForUserTypeDomainExpansion:(NSCountedSet *)arg4;
@end

@protocol WBSHistoryStoreDelegate <WBSHistoryLoaderDelegate>
- (void)historyStoreDidFailDatabaseIntegrityCheck:(WBSHistorySQLiteStore *)arg1;
- (_Bool)historyStoreShouldCheckDatabaseIntegrity:(WBSHistorySQLiteStore *)arg1;
- (void)historyStore:(WBSHistorySQLiteStore *)arg1 didPrepareToDeleteWithDeletionPlan:(WBSHistoryDeletionPlan *)arg2;
@end

@protocol WBUCreditCardCaptureViewControllerDelegate <UINavigationControllerDelegate>

@optional
- (void)creditCardCaptureViewControllerDidCancel:(WBUCreditCardCaptureViewController *)arg1;
- (void)creditCardCaptureViewController:(WBUCreditCardCaptureViewController *)arg1 didCaptureCreditCard:(WBSCreditCardData *)arg2;
@end

@protocol WBUFormAutoFillFrameHandle <NSObject>
@property(readonly, nonatomic) NSArray *webui_certificateChain;
@property(readonly, nonatomic) NSURL *webui_URL;
@end

@protocol WBUFormAutoFillWebView <NSObject>
@property(readonly, nonatomic) _Bool webui_privateBrowsingEnabled;
@property(readonly, nonatomic) UIView *webui_viewForAutoFillPrompt;
- (NSDictionary *)webui_formMetadataAndFrame:(id *)arg1 forLastPasswordGenerationOrSubmitEventInFrame:(id <WBUFormAutoFillFrameHandle>)arg2;
- (void)webui_removeFormMetadataForLastPasswordGenerationOrSubmitEventInFrame:(id <WBUFormAutoFillFrameHandle>)arg1;
- (void)webui_setFormMetadata:(NSDictionary *)arg1 forLastPasswordGenerationOrSubmitEventInFrame:(id <WBUFormAutoFillFrameHandle>)arg2;
- (NSDictionary *)webui_formMetadataForLastPasswordGenerationOrSubmitEventInFrame:(id <WBUFormAutoFillFrameHandle>)arg1;
- (void (^)(void))webui_preventNavigationDuringAutoFillPrompt;
@end

@protocol WebPolicyDecisionListener <NSObject>
- (void)ignore;
- (void)download;
- (void)use;
@end

@interface CKRecord (SafariSharedExtras)
- (id)safari_encryptedDataForKey:(id)arg1;
- (id)safari_arrayForKey:(id)arg1;
- (id)safari_dateForKey:(id)arg1;
- (id)safari_dataForKey:(id)arg1;
- (id)safari_numberForKey:(id)arg1;
- (id)safari_stringForKey:(id)arg1;
- (_Bool)safari_boolForKey:(id)arg1;
@end

@interface MCProfileConnection (UIKitExtras)
- (_Bool)installConfigurationProfileWithData:(id)arg1;
@end

@interface NSArray (SafariSharedExtras)
- (id)safari_filterObjectsUsingBlock:(CDUnknownBlockType)arg1;
- (id)safari_mapObjectsUsingBlock:(CDUnknownBlockType)arg1;
- (id)safari_mapAndFilterObjectsUsingBlock:(CDUnknownBlockType)arg1;
- (id)safari_arrayAtIndex:(unsigned long long)arg1;
- (id)safari_dictionaryAtIndex:(unsigned long long)arg1;
- (id)safari_stringAtIndex:(unsigned long long)arg1;
- (id)safari_numberAtIndex:(unsigned long long)arg1;
@end

@interface NSBundle (SafariSharedExtras)
+ (id)safari_safariSharedBundle;
- (_Bool)safari_primaryLocalizationIsEnglish;
@end

@interface NSBundle (WebUIExtras)
- (id)webui_localizedDisplayName;
@end

@interface NSCharacterSet (SafariSharedExtras)
+ (id)safari_lockRelatedEmojiCharacterSet;
@end

@interface NSData (SafariSharedExtras)
- (_Bool)safari_dataAppearsToBeCompressed;
- (id)safari_dataByDecompressingData;
- (id)safari_dataByCompressingData;
@end

@interface NSDate (WBSNSDateExtras)
- (_Bool)safari_isInclusivelyBetweenDate:(id)arg1 andDate:(id)arg2;
- (id)safari_startOfDay;
- (_Bool)safari_isInSameDayAsDate:(id)arg1;
- (_Bool)safari_isInToday;
- (long long)safari_numberOfWeeksUntilDate:(id)arg1;
@end

@interface NSDictionary (SafariSharedExtras)
- (id)safari_URLForKey:(id)arg1;
- (id)safari_dictionaryForKey:(id)arg1;
- (id)safari_arrayForKey:(id)arg1;
- (id)safari_dateForKey:(id)arg1;
- (id)safari_dataForKey:(id)arg1;
- (id)safari_numberForKey:(id)arg1;
- (id)safari_stringForKey:(id)arg1;
- (_Bool)safari_boolForKey:(id)arg1;
@end

@interface NSError (SafariSharedCloudKitExtras)
- (_Bool)safari_errorOrAnyPartialErrorHasCloudKitErrorCode:(long long)arg1;
@end

@interface NSError (WebUIErrorExtras)
+ (id)_webUI_WebUIErrorWithCode:(unsigned long long)arg1 URL:(id)arg2;
@end

@interface NSFileManager (SafariNSFileManagerExtras)
- (id)safari_settingsDirectory;
- (id)_safari_safariLibraryDirectory;
- (id)_safari_containerDirectory;
- (id)safari_subdirectoryWithName:(id)arg1 inUserDomainOfDirectory:(unsigned long long)arg2;
- (id)safari_ensureDirectoryExists:(id)arg1;
@end

@interface NSHTTPCookieStorage (WebUIExtras)
- (void)webui_migrateSafariCookieAcceptPolicy;
- (void)webui_applySafariCookieAcceptPolicy;
@end

@interface NSSet (SafariSharedExtras)
- (id)safari_arrayByMappingObjectsUsingBlock:(CDUnknownBlockType)arg1;
@end

@interface NSString (SafariSharedExtras)
+ (id)safari_stringByBase64EncodingData:(id)arg1;
+ (id)safari_stringWithUTF8Bytes:(const void *)arg1 length:(unsigned long long)arg2;
+ (void)_safari_reverseEnumerateComponents:(id)arg1 usingBlock:(CDUnknownBlockType)arg2;
+ (id)safari_stringWithJSValue:(struct OpaqueJSValue *)arg1 context:(struct OpaqueJSContext *)arg2;
+ (id)safari_stringWithJSValue:(struct OpaqueJSValue *)arg1 context:(struct OpaqueJSContext *)arg2 nullStringPolicy:(long long)arg3;
- (id)safari_base64DecodedData;
- (id)safari_canonicalURLStringForFrequentlyVisitedSites;
- (void)safari_enumerateSubdomainRangesInHostUsingBlock:(CDUnknownBlockType)arg1;
- (id)safari_stringByReplacingSearchTermsTokenWithQueryString:(id)arg1;
- (id)safari_scriptIfJavaScriptURLString;
- (_Bool)safari_isJavaScriptURLString;
- (id)safari_domainFromHost;
- (unsigned long long)safari_countOfString:(id)arg1;
- (id)safari_stringBySubstitutingHTMLEntitiesForAmpersandAndAngleBrackets;
- (id)safari_stringBySubstitutingAmpersandAndAngleBracketsForHTMLEntities;
- (id)safari_simplifiedUserVisibleURLString;
- (id)safari_simplifiedUserVisibleURLStringWithSimplifications:(unsigned long long)arg1 forDisplayOnly:(_Bool)arg2 simplifiedStringOffset:(unsigned long long *)arg3;
- (id)safari_stringEncodedAsURLQueryParameter;
- (id)safari_stringByFoldingWideCharactersAndNormalizing;
- (id)safari_userVisibleURL;
- (id)safari_bestURLStringForUserTypedString;
- (id)safari_bestURLForUserTypedString;
- (id)safari_stringByRemovingWwwDotPrefix;
- (id)safari_fixedStringByExpandingTildeInPath;
- (_Bool)safari_hasLocalizedCaseInsensitivePrefix:(id)arg1;
- (_Bool)safari_hasCaseInsensitiveSuffix:(id)arg1;
- (_Bool)safari_hasCaseInsensitivePrefix:(id)arg1;
- (_Bool)safari_isCaseInsensitiveEqualToString:(id)arg1;
- (_Bool)safari_hasPrefix:(id)arg1;
- (id)safari_stringByTrimmingWhitespace;
- (id)safari_stringByRemovingUnnecessaryCharactersFromUserTypedURLString;
- (id)safari_stringByRemovingTopLevelDomainFromHost;
- (id)safari_highLevelDomainFromHost;
- (id)_safari_topLevelDomainUsingCFFromComponents:(id)arg1;
- (id)safari_possibleTopLevelDomainCorrectionForUserTypedString;
- (id)safari_stringByRemovingCharactersInSet:(id)arg1;
@end

@interface NSString (WebUIExtras)
- (_Bool)webui_isConfigProfileMIMEType;
@end

@interface NSURL (SafariSharedExtras)
+ (void)safari_enumeratePossibleURLsForUserTypedString:(id)arg1 withBlock:(CDUnknownBlockType)arg2;
+ (struct _NSRange)safari_hostAndPortRangeFromUserTypedString:(id)arg1;
+ (id)safari_URLWithDataAsString:(id)arg1 relativeToURL:(id)arg2;
+ (id)safari_URLWithDataAsString:(id)arg1;
+ (id)safari_URLWithUserTypedString:(id)arg1;
- (id)safari_userVisibleHostWithoutWWWSubdomain;
- (id)safari_userVisibleHost;
- (id)safari_userVisibleString;
- (id)safari_originalDataAsString;
- (_Bool)safari_hasCharactersBeyondPath;
- (id)safari_canonicalURL;
- (id)safari_URLByDeletingPort;
- (id)safari_URLByReplacingQueryWithString:(id)arg1;
- (id)safari_URLByReplacingSchemeWithString:(id)arg1;
- (id)safari_URLByReplacingHostWithString:(id)arg1;
- (id)_safari_URLByReplacingComponent:(long long)arg1 withString:(id)arg2;
- (id)_safari_URLByReplacingComponent:(long long)arg1 includingSeparators:(_Bool)arg2 withString:(id)arg3;
- (_Bool)safari_isDataURL;
- (_Bool)safari_isHTTPFamilyURL;
- (_Bool)safari_hasScheme:(id)arg1;
@end

@interface NSURL (UIKitExtras)
- (_Bool)isStoreServicesURL;
- (_Bool)isMailToURL;
@end

@interface NSURLConnection (WBSNSURLConnectionExtras)
+ (void)safari_sendAsynchronousRequest:(id)arg1 queue:(id)arg2 completionHandler:(CDUnknownBlockType)arg3;
@end

@interface NSURLProtectionSpace (SafariSharedExtras)
+ (id)safari_HTMLFormProtectionSpaceForURL:(id)arg1;
- (_Bool)safari_allowsCredentialSaving;
- (id)safari_URL;
- (id)safari_addressString;
- (id)safari_protectionSpaceByReplacingHostWithHighlevelDomain;
@end

@interface NSURLResponse (WebUIExtras)
- (id)webui_certificateChain;
@end

@interface UIView (UIKitExtras)
- (void)fadeToAlpha:(float)arg1 withDuration:(float)arg2;
@end

@interface UIWebBrowserView (WebUIExtras) <WBUFormAutoFillWebView>
- (void)webui_removeFormMetadataForLastPasswordGenerationOrSubmitEventInFrame:(id)arg1;
- (void)webui_setFormMetadata:(id)arg1 forLastPasswordGenerationOrSubmitEventInFrame:(id)arg2;
- (id)webui_formMetadataAndFrame:(id *)arg1 forLastPasswordGenerationOrSubmitEventInFrame:(id)arg2;
- (id)webui_formMetadataForLastPasswordGenerationOrSubmitEventInFrame:(id)arg1;
- (CDUnknownBlockType)webui_preventNavigationDuringAutoFillPrompt;
@property(readonly, nonatomic) _Bool webui_privateBrowsingEnabled;
@property(readonly, nonatomic) UIView *webui_viewForAutoFillPrompt;
- (void)enumerateUnsubmittedFormsUsingBlock:(CDUnknownBlockType)arg1;
- (id)_frameToFormMetadataForLastPasswordGenerationOrSubmitEvent;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;
@end

@interface UIWebDocumentView (WebUIDocumentView)
- (id)URL;
@end

@interface WBSFormAutoFillItem : NSObject
{
}

@property(readonly, nonatomic) NSString *completion;

@end

@interface WBSAddressBookMatch : WBSFormAutoFillItem
{
    id _value;
    NSString *_property;
    NSString *_key;
    NSString *_identifier;
    NSString *_label;
}

@property(readonly, nonatomic) NSString *label; // @synthesize label=_label;
@property(readonly, nonatomic) NSString *identifier; // @synthesize identifier=_identifier;
@property(readonly, nonatomic) NSString *key; // @synthesize key=_key;
@property(copy, nonatomic) NSString *property; // @synthesize property=_property;
- (void).cxx_destruct;
- (id)completion;
- (id)initWithValue:(id)arg1 property:(id)arg2 key:(id)arg3 identifier:(id)arg4 label:(id)arg5;
- (id)initWithValue:(id)arg1 property:(id)arg2 key:(id)arg3 identifier:(id)arg4;
@property(copy, nonatomic) NSDate *dateValue;
@property(copy, nonatomic) NSString *stringValue;
- (void)_setValue:(id)arg1;

@end

@interface WBSAddressBookMatchMarker : WBSFormAutoFillItem
{
    NSArray *_array;
}

@property(readonly, nonatomic) NSArray *array; // @synthesize array=_array;
- (void).cxx_destruct;
- (id)initWithArray:(id)arg1;

@end

@interface WBSAddressBookValueSpecifier : NSObject
{
    NSString *_property;
    NSString *_component;
    NSString *_label;
}

@property(readonly, nonatomic) NSString *label; // @synthesize label=_label;
@property(readonly, nonatomic) NSString *component; // @synthesize component=_component;
@property(readonly, nonatomic) NSString *property; // @synthesize property=_property;
- (void).cxx_destruct;
- (id)description;
- (_Bool)isEqual:(id)arg1;
- (unsigned long long)hash;
- (id)initWithProperty:(id)arg1 component:(id)arg2 label:(id)arg3;

@end

@interface WBSAsynchronousRequestHelper : NSObject <NSURLConnectionDelegate>
{
    NSOperationQueue *_queue;
    CDUnknownBlockType _handler;
    NSURLConnection *_connection;
    NSURLResponse *_response;
    NSMutableData *_data;
    id _lifetimeExtender;
}

- (void).cxx_destruct;
- (void)connectionDidFinishLoading:(id)arg1;
- (void)connection:(id)arg1 didReceiveData:(id)arg2;
- (void)connection:(id)arg1 didReceiveResponse:(id)arg2;
- (void)connection:(id)arg1 didFailWithError:(id)arg2;
- (void)sendRequest;
- (void)dealloc;
- (id)initWithRequest:(id)arg1 queue:(id)arg2 completionHandler:(CDUnknownBlockType)arg3;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBSAutomaticReadingListItem : NSObject
{
    UIImage *_fallbackProfileImage;
    _Bool _repostedByAuthenticatedUser;
    _Bool _fetchingProfileImage;
    NSString *_uniqueIdentifier;
    id _sourceRecordID;
    NSDate *_sourceRecordCreationDate;
    NSString *_sourceRecordText;
    id _originatorID;
    NSString *_originatorDisplayName;
    NSString *_urlString;
    NSString *_reposterDisplayName;
    NSString *_reposterScreenName;
    UIImage *_originatorProfileImage;
    NSString *_socialSourceAccountIdentifier;
}

+ (id)keyPathsForValuesAffectingDomainString;
@property(nonatomic) _Bool fetchingProfileImage; // @synthesize fetchingProfileImage=_fetchingProfileImage;
@property(readonly, copy, nonatomic) NSString *socialSourceAccountIdentifier; // @synthesize socialSourceAccountIdentifier=_socialSourceAccountIdentifier;
@property(nonatomic, getter=isRepostedByAuthenticatedUser) _Bool repostedByAuthenticatedUser; // @synthesize repostedByAuthenticatedUser=_repostedByAuthenticatedUser;
@property(retain, nonatomic) UIImage *originatorProfileImage; // @synthesize originatorProfileImage=_originatorProfileImage;
@property(readonly, nonatomic) NSString *reposterScreenName; // @synthesize reposterScreenName=_reposterScreenName;
@property(readonly, nonatomic) NSString *reposterDisplayName; // @synthesize reposterDisplayName=_reposterDisplayName;
@property(readonly, copy, nonatomic) NSString *urlString; // @synthesize urlString=_urlString;
@property(readonly, copy, nonatomic) NSString *originatorDisplayName; // @synthesize originatorDisplayName=_originatorDisplayName;
@property(readonly, copy, nonatomic) id originatorID; // @synthesize originatorID=_originatorID;
@property(readonly, copy, nonatomic) NSString *sourceRecordText; // @synthesize sourceRecordText=_sourceRecordText;
@property(readonly, copy, nonatomic) NSDate *sourceRecordCreationDate; // @synthesize sourceRecordCreationDate=_sourceRecordCreationDate;
@property(readonly, copy, nonatomic) id sourceRecordID; // @synthesize sourceRecordID=_sourceRecordID;
@property(copy, nonatomic) NSString *uniqueIdentifier; // @synthesize uniqueIdentifier=_uniqueIdentifier;
- (void).cxx_destruct;
- (id)description;
- (void)_fetchOriginatorProfileImageForSize:(struct CGSize)arg1;
- (void)_getFallbackImage;
- (void)updateFallbackImageIfNecessary;
- (id)bestOriginatorProfileImageForSize:(struct CGSize)arg1;
- (_Bool)isAcceptableOriginatorProfileImage:(id)arg1;
@property(readonly, nonatomic) NSURL *biggerOriginatorProfileImageURL;
@property(readonly, nonatomic) NSURL *originatorProfileImageURL;
@property(readonly, nonatomic) struct _NSRange emphasizedTextRange;
@property(readonly, nonatomic) struct _NSRange displayURLRange;
@property(readonly, nonatomic) NSString *continuousBannerTitle;
@property(readonly, nonatomic) NSString *continuousBannerDisplayString;
@property(readonly, nonatomic) NSString *displayString;
@property(readonly, nonatomic) NSURL *originatorProfileURL;
@property(readonly, nonatomic) NSURL *sourceRecordURL;
@property(readonly, nonatomic) NSString *domainString;
@property(readonly, nonatomic) WBSAutomaticReadingListSocialSource *socialSource;
- (_Bool)isEqual:(id)arg1;
- (unsigned long long)hash;
- (id)initWithDictionary:(id)arg1 socialSourceAccountIdentifier:(id)arg2;

@end

@interface WBSAutomaticReadingListRecordRange : NSObject <NSCopying>
{
    id _newest;
    NSDate *_newestCreationDate;
    id _oldest;
    NSDate *_oldestCreationDate;
}

@property(copy, nonatomic) NSDate *oldestCreationDate; // @synthesize oldestCreationDate=_oldestCreationDate;
@property(copy, nonatomic) id oldest; // @synthesize oldest=_oldest;
@property(copy, nonatomic) NSDate *newestCreationDate; // @synthesize newestCreationDate=_newestCreationDate;
@property(copy, nonatomic) id newest; // @synthesize newest=_newest;
- (void).cxx_destruct;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (void)setOldest:(id)arg1 creationDate:(id)arg2;
- (void)setNewest:(id)arg1 creationDate:(id)arg2;
- (id)initWithNewest:(id)arg1 newestCreationDate:(id)arg2 oldest:(id)arg3 oldestCreationDate:(id)arg4;

@end

@interface WBSAutomaticReadingListSinaWeiboItem : WBSAutomaticReadingListItem
{
    NSString *_originatorProfileImageURLString;
    NSString *_profileURLComponent;
}

@property(copy, nonatomic) NSString *profileURLComponent; // @synthesize profileURLComponent=_profileURLComponent;
@property(copy, nonatomic) NSString *originatorProfileImageURLString; // @synthesize originatorProfileImageURLString=_originatorProfileImageURLString;
- (void).cxx_destruct;
- (id)originatorProfileURL;
- (id)sourceRecordURL;
- (id)biggerOriginatorProfileImageURL;
- (id)originatorProfileImageURL;
- (id)_profileImageURLWithImageSizeString:(id)arg1;
- (id)socialSource;
- (id)initWithDictionary:(id)arg1 socialSourceAccountIdentifier:(id)arg2;

@end

@interface WBSAutomaticReadingListSocialSource : NSObject
{
    id _serviceImage;
    NSMutableDictionary *_accountsToNumberOfRequestsInProgressForOlderItems;
    NSArray *_accounts;
    NSArray *_activeAccounts;
    Class _fallbackIconProviderClass;
    NSDictionary *_accountsToTrackedRecordsInfoMap;
    NSTimer *_minimumTimeBetweenRequestsTimer;
    unsigned long long _numberOfRequestsInProgressForNewerItems;
    NSXPCConnection *_socialHelperConnection;
}

+ (id)itemsFromAllSocialSourcesByDate;
+ (void)refreshAllSocialSources;
+ (id)allSocialSources;
@property(retain, nonatomic) NSXPCConnection *socialHelperConnection; // @synthesize socialHelperConnection=_socialHelperConnection;
@property(nonatomic) unsigned long long numberOfRequestsInProgressForNewerItems; // @synthesize numberOfRequestsInProgressForNewerItems=_numberOfRequestsInProgressForNewerItems;
@property(retain, nonatomic) NSTimer *minimumTimeBetweenRequestsTimer; // @synthesize minimumTimeBetweenRequestsTimer=_minimumTimeBetweenRequestsTimer;
@property(retain, nonatomic) NSDictionary *accountsToTrackedRecordsInfoMap; // @synthesize accountsToTrackedRecordsInfoMap=_accountsToTrackedRecordsInfoMap;
@property(retain, nonatomic) Class fallbackIconProviderClass; // @synthesize fallbackIconProviderClass=_fallbackIconProviderClass;
@property(readonly, copy, nonatomic) NSArray *activeAccounts; // @synthesize activeAccounts=_activeAccounts;
@property(copy, nonatomic) NSArray *accounts; // @synthesize accounts=_accounts;
- (void).cxx_destruct;
- (void)repostItem:(id)arg1 fromAccountWithIdentifier:(id)arg2;
- (id)repostResourceURLStringForItem:(id)arg1;
@property(readonly, nonatomic) id serviceImage;
@property(readonly, nonatomic) NSString *serviceName;
@property(readonly, nonatomic) NSString *serviceType;
@property(readonly, nonatomic) NSString *accountTypeIdentifier;
- (void)setShouldHideItems:(_Bool)arg1 forAccount:(id)arg2;
- (_Bool)shouldHideItemsFromAccount:(id)arg1;
- (Class)itemClass;
- (id)recordRange:(id)arg1 withOldestFromItem:(id)arg2;
- (long long)compareItem:(id)arg1 toItem:(id)arg2;
- (long long)compareOldestRecordInRange:(id)arg1 toOldestRecordInRange:(id)arg2;
- (long long)compareNewestRecordInRange:(id)arg1 toNewestRecordInRange:(id)arg2;
- (long long)compareNewestRecordInRange:(id)arg1 toOldestRecordInRange:(id)arg2;
- (void)updateMinimumTimeBetweenRequestsFromResponseHeaders:(id)arg1;
- (double)minimumTimeBetweenRequests;
- (id)requestParametersForRecordsWithAge:(int)arg1 relativeTo:(id)arg2;
- (id)resourceURLString;
- (void)_didAddItemsForAccountWithIdentifier:(id)arg1;
- (void)_addItems:(id)arg1 withAge:(int)arg2 inRange:(id)arg3 rangeOfTrackedRecordsAtTimeOfRequest:(id)arg4 forAccountWithIdentifier:(id)arg5;
- (void)_accountsChanged:(id)arg1;
- (id)_activeAccountsFromAccountList:(id)arg1;
- (id)_findAccounts;
- (void)_didCompleteRequestForItemsWithAge:(int)arg1 accountIdentifier:(id)arg2;
- (void)_didStartRequestForItemsWithAge:(int)arg1 accountIdentifier:(id)arg2;
- (void)_requestOlderItemsIfNecessaryToReachMaximumForAccountWithIdentifier:(id)arg1;
- (void)requestMaximumNumberOfOlderItems;
- (void)_performRequestForMoreItemsWithAge:(int)arg1 accountIdentifier:(id)arg2 successHandler:(CDUnknownBlockType)arg3;
- (void)requestMoreItemsWithAge:(int)arg1;
@property(readonly, nonatomic, getter=isActive) _Bool active;
- (void)_invalidateSocialHelperConnectionIfPossible;
- (id)_existingSocialHelperConnection;
- (void)_minimumTimeBetweenRequestsTimerFired:(id)arg1;
- (void)dealloc;
- (id)init;

@end

@interface WBSAutomaticReadingListSinaWeiboSource : WBSAutomaticReadingListSocialSource
{
}

+ (id)sharedSource;
- (id)serviceName;
- (id)serviceType;
- (id)accountTypeIdentifier;
- (Class)itemClass;
- (long long)compareItem:(id)arg1 toItem:(id)arg2;
- (long long)compareOldestRecordInRange:(id)arg1 toOldestRecordInRange:(id)arg2;
- (long long)compareNewestRecordInRange:(id)arg1 toNewestRecordInRange:(id)arg2;
- (long long)compareNewestRecordInRange:(id)arg1 toOldestRecordInRange:(id)arg2;
- (id)requestParametersForRecordsWithAge:(int)arg1 relativeTo:(id)arg2;
- (id)resourceURLString;

@end

@interface WBSAutomaticReadingListTrackedRecordsInfo : NSObject
{
    WBSAutomaticReadingListRecordRange *_rangeOfTrackedRecords;
    NSArray *_items;
}

@property(copy, nonatomic) NSArray *items; // @synthesize items=_items;
@property(copy, nonatomic) WBSAutomaticReadingListRecordRange *rangeOfTrackedRecords; // @synthesize rangeOfTrackedRecords=_rangeOfTrackedRecords;
- (void).cxx_destruct;

@end

@interface WBSAutomaticReadingListTwitterItem : WBSAutomaticReadingListItem
{
    NSString *_originatorScreenName;
    NSString *_displayURLString;
    NSString *_expandedURLString;
    NSString *_originatorProfileImageURLString;
    NSDate *_retweetCreationDate;
}

@property(copy, nonatomic) NSDate *retweetCreationDate; // @synthesize retweetCreationDate=_retweetCreationDate;
@property(copy, nonatomic) NSString *originatorProfileImageURLString; // @synthesize originatorProfileImageURLString=_originatorProfileImageURLString;
@property(copy, nonatomic) NSString *expandedURLString; // @synthesize expandedURLString=_expandedURLString;
@property(copy, nonatomic) NSString *displayURLString; // @synthesize displayURLString=_displayURLString;
@property(copy, nonatomic) NSString *originatorScreenName; // @synthesize originatorScreenName=_originatorScreenName;
- (void).cxx_destruct;
- (id)description;
- (id)sourceRecordCreationDate;
- (id)retweeterProfileURL;
- (id)_profileImageURLStringWithSuffix:(id)arg1;
- (id)biggerOriginatorProfileImageURL;
- (struct _NSRange)displayURLRange;
- (id)displayString;
- (id)originatorProfileImageURL;
- (id)originatorProfileURL;
- (id)sourceRecordURL;
- (id)domainString;
- (id)socialSource;
- (id)initWithDictionary:(id)arg1 socialSourceAccountIdentifier:(id)arg2;

@end

@interface WBSAutomaticReadingListTwitterSource : WBSAutomaticReadingListSocialSource
{
    unsigned long long _numberOfRequestsAllowedInRateLimitWindow;
}

+ (id)sharedSource;
@property(nonatomic) unsigned long long numberOfRequestsAllowedInRateLimitWindow; // @synthesize numberOfRequestsAllowedInRateLimitWindow=_numberOfRequestsAllowedInRateLimitWindow;
- (id)repostResourceURLStringForItem:(id)arg1;
- (id)serviceName;
- (id)serviceType;
- (id)accountTypeIdentifier;
- (Class)itemClass;
- (void)updateMinimumTimeBetweenRequestsFromResponseHeaders:(id)arg1;
- (double)minimumTimeBetweenRequests;
- (id)requestParametersForRecordsWithAge:(int)arg1 relativeTo:(id)arg2;
- (id)resourceURLString;

@end

@interface WBSAutomaticReadingListWebFeedItem : WBSAutomaticReadingListItem
{
    NSString *_feedURLString;
    NSString *_originatorProfileImageURLString;
    NSString *_title;
    NSURL *_homepageURL;
}

@property(copy, nonatomic) NSURL *homepageURL; // @synthesize homepageURL=_homepageURL;
@property(copy, nonatomic) NSString *title; // @synthesize title=_title;
@property(copy, nonatomic) NSString *originatorProfileImageURLString; // @synthesize originatorProfileImageURLString=_originatorProfileImageURLString;
@property(copy, nonatomic) NSString *feedURLString; // @synthesize feedURLString=_feedURLString;
- (void).cxx_destruct;
- (struct _NSRange)emphasizedTextRange;
- (id)continuousBannerTitle;
- (id)continuousBannerDisplayString;
- (id)displayString;
- (id)originatorProfileURL;
- (id)sourceRecordURL;
- (id)biggerOriginatorProfileImageURL;
- (_Bool)isAcceptableOriginatorProfileImage:(id)arg1;
- (id)originatorProfileImageURL;
- (id)socialSource;
- (id)initWithDictionary:(id)arg1 socialSourceAccountIdentifier:(id)arg2;

@end

@interface WBSAutomaticReadingListWebFeedSource : WBSAutomaticReadingListSocialSource
{
    NSObject<OS_dispatch_queue> *_webFeedSourceDataSynchronizationQueue;
    NSMutableSet *_subscribedFeeds;
    NSMutableSet *_potentialFeedSubscriptions;
    NSMutableSet *_subscribedFeedsAddedWhenSyncWasOff;
    NSMutableDictionary *_posts;
    NSMutableSet *_feedURLs;
    NSUbiquitousKeyValueStore *_subscriptionsKeyValueStore;
    _Bool _canFetchFeeds;
    _Bool _hasStartedFetchingFeeds;
    _Bool _cloudSyncEnabled;
    NSXPCConnection *_webFeedParserConnection;
}

+ (id)sharedSource;
@property(retain, nonatomic) NSXPCConnection *webFeedParserConnection; // @synthesize webFeedParserConnection=_webFeedParserConnection;
@property(nonatomic) _Bool cloudSyncEnabled; // @synthesize cloudSyncEnabled=_cloudSyncEnabled;
- (void).cxx_destruct;
- (id)_findAccounts;
- (void)_parsingFinishedForFeedURL:(id)arg1 metadata:(id)arg2 entries:(id)arg3;
- (id)serviceName;
- (id)serviceType;
- (id)accountTypeIdentifier;
- (id)requestParametersForRecordsWithAge:(int)arg1 relativeTo:(id)arg2;
- (id)resourceURLString;
- (id)serviceImage;
- (void)getSiteIconURLsForFeedURL:(id)arg1 completionBlock:(CDUnknownBlockType)arg2;
- (void)getSourceURLsForFeedURL:(id)arg1 completionBlock:(CDUnknownBlockType)arg2;
- (void)_setTitle:(id)arg1 forFeedURL:(id)arg2;
- (void)fetchPotentialSubscriptionFeedSources:(CDUnknownBlockType)arg1;
- (void)getFeedSourcesWithState:(long long)arg1 completionBlock:(CDUnknownBlockType)arg2;
- (void)addPairingFromSourceURL:(id)arg1 toFeedURL:(id)arg2 title:(id)arg3 iconURLs:(id)arg4;
- (void)subscribeToFeedURL:(id)arg1 fromSourceURL:(id)arg2 siteIconURLs:(id)arg3;
- (void)_persistSubscribedFeedURL:(id)arg1 fromSourceURL:(id)arg2 siteIconURLs:(id)arg3;
- (void)_subscribedFeedsDidChangeOnSynchronizationQueue;
- (id)_subscriptionsToSync;
- (void)_webFeedSourcesDidChangeOnSynchronizationQueue;
- (void)_beginParsingFeedURL:(id)arg1;
- (void)_parseFeedURL:(id)arg1;
- (void)_addFeedURL:(id)arg1;
- (void)requestMoreItemsWithAge:(int)arg1;
- (_Bool)isActive;
- (void)blockFeedWithFeedURL:(id)arg1;
- (void)blockFeedWithItem:(id)arg1;
- (void)_persistBlockedFeedURL:(id)arg1;
- (void)_removeFeedURL:(id)arg1;
- (void)_removeSubscribedFeedsOnSynchronizationQueueWithFeedURL:(id)arg1;
- (id)_findSubscribedFeedsOnSynchronizationQueueWithFeedURL:(id)arg1;
@property(readonly, nonatomic) WBSAutomaticReadingListTrackedRecordsInfo *items;
- (id)_items;
- (void)_beginFetchingFeedsIfNecessary;
- (void)_subscribedFeedsDidChangeExternallyOnSynchronizationQueue;
- (void)_startListeningForCloudSubscriptionsChangesIfNecessary;
- (void)_loadFeedSourcesFromDiskOnSynchronizationQueue;
- (void)loadFeedSourcesIfNecessary;
- (void)debugClearWebFeedSubscriptionsKeyValueStore;
- (id)init;
- (id)_webFeedSourceListLocation;

@end

@interface WBSBackgroundActivityScheduler : NSObject
{
    _Bool _isScheduled;
    _Bool _shouldUpdateCriteriaWhenActivityCompletes;
    _Bool _repeats;
    NSString *_identifier;
    double _interval;
    double _tolerance;
}

@property(nonatomic) double tolerance; // @synthesize tolerance=_tolerance;
@property(nonatomic) double interval; // @synthesize interval=_interval;
@property(nonatomic) _Bool repeats; // @synthesize repeats=_repeats;
@property(readonly, copy, nonatomic) NSString *identifier; // @synthesize identifier=_identifier;
- (void).cxx_destruct;
- (id)_criteria;
- (void)invalidate;
- (void)scheduleWithBlock:(CDUnknownBlockType)arg1;
- (id)initWithIdentifier:(id)arg1;

@end

@interface WBSURLCompletionMatch : NSObject <WBSCompletionListItem>
{
    long long _matchLocation;
}

+ (long long)matchLocationForString:(id)arg1 inTitle:(id)arg2;
+ (long long)matchLocationForString:(id)arg1 inURLString:(id)arg2;
@property(readonly, nonatomic) long long matchLocation; // @synthesize matchLocation=_matchLocation;
- (id)matchingStringWithUserTypedPrefix:(id)arg1;
@property(readonly, nonatomic) NSString *parsecDomainIdentifier;
@property(readonly, nonatomic, getter=isTopHit) _Bool topHit;
- (id)userVisibleURLString;
- (id)title;
- (id)originalURLString;
- (id)initWithMatchLocation:(long long)arg1;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBSBookmarkAndHistoryCompletionMatch : WBSURLCompletionMatch
{
    struct RefPtr<SafariShared::BookmarkAndHistoryCompletionMatch> _match;
}

- (id).cxx_construct;
- (void).cxx_destruct;
@property(readonly, nonatomic) float weight;
- (id)parsecDomainIdentifier;
- (id)userVisibleURLString;
- (id)title;
- (id)originalURLString;
@property(readonly, nonatomic) id <WBSURLCompletionMatchData> data;
- (id)initWithBookmarkAndHistoryCompletionMatch:(PassRefPtr_8dece646)arg1;

@end

@interface WBSClass : NSObject
{
}

@end

@interface WBSCleanupHandler : NSObject
{
    CDUnknownBlockType _block;
}

- (void).cxx_destruct;
- (void)dealloc;
- (void)invalidate;
- (id)initWithBlock:(CDUnknownBlockType)arg1;

@end

@interface WBSCloudHistory : NSObject <WBSCloudHistorySyncThrottlerDataStore>
{
    NSObject<OS_dispatch_queue> *_cloudHistoryQueue;
    _Bool _cloudHistoryEnabled;
    _Bool _saveChangesWhenHistoryLoads;
    _Bool _fetchChangesWhenHistoryLoads;
    id <NSObject> _historyWasLoadedObserver;
    struct unique_ptr<SafariShared::SuddenTerminationDisabler, std::__1::default_delete<SafariShared::SuddenTerminationDisabler>> _saveOperationSuddenTerminationDisabler;
    struct unique_ptr<SafariShared::SuddenTerminationDisabler, std::__1::default_delete<SafariShared::SuddenTerminationDisabler>> _fetchOperationSuddenTerminationDisabler;
    _Bool _removedHistoryItemsArePendingSave;
    WBSCloudHistorySyncThrottler *_saveChangesThrottler;
    NSTimer *_saveChangesLaterTimer;
    unsigned long long _numberOfDevicesInSyncCircle;
}

+ (id)sharedCloudHistory;
@property(nonatomic) unsigned long long numberOfDevicesInSyncCircle; // @synthesize numberOfDevicesInSyncCircle=_numberOfDevicesInSyncCircle;
- (id).cxx_construct;
- (void).cxx_destruct;
- (void)_updateSaveChangesThrottlingPolicy;
- (id)currentSaveChangesThrottlerPolicyString;
- (void)setRecordOfPastOperations:(id)arg1 forThrottler:(id)arg2;
- (id)recordOfPastOperationsForThrottler:(id)arg1;
- (void)_cloudHistoryConfigurationChanged:(id)arg1;
- (void)_saveChangesLaterTimerFired:(id)arg1;
- (void)_scheduleSaveChangesLaterTimerWithInterval:(double)arg1;
- (double)_backoffTimeIntervalFromError:(id)arg1;
- (long long)_resultFromError:(id)arg1;
- (long long)_estimatedPriorityForPotentialSaveAttempt;
- (long long)_priorityForSaveWithVisits:(id)arg1 tombstones:(id)arg2 bypassingThrottler:(_Bool)arg3;
- (void)_historyItemsWereRemoved:(id)arg1;
- (void)_historyWasLoaded:(id)arg1;
- (void)_registerForHistoryWasLoadedNotificationIfNecessary;
- (void)_fetchChangesWhenHistoryLoads;
- (void)_saveChangesWhenHistoryLoads;
- (void)_saveChangesAfterDeterminingNumberOfDevicesInSyncCircle:(id)arg1;
- (void)_fetchAndMergeChangesWithServerChangeTokenData:(id)arg1 intoHistory:(id)arg2;
- (void)fetchAndMergeChanges;
- (id)dateOfNextPermittedSaveChangesAttempt;
- (void)_postSaveChangesAttemptCompletedNotificationWithAllPendingDataSaved:(_Bool)arg1;
- (void)_saveVisits:(id)arg1 tombstones:(id)arg2 toCloudHistoryBypassingThrottler:(_Bool)arg3 withCallback:(CDUnknownBlockType)arg4;
- (void)_saveChangesToCloudHistoryStoreBypassingThrottler:(_Bool)arg1;
- (void)saveChangesToCloudHistoryStoreBypassingThrottler;
- (void)saveChangesToCloudHistoryStore;
@property(nonatomic, getter=isCloudHistoryEnabled) _Bool cloudHistoryEnabled;
- (void)dealloc;
- (id)init;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBSCloudHistoryConfiguration : NSObject
{
    NSString *_singleDeviceSaveChangesThrottlingPolicyString;
    NSString *_multipleDeviceSaveChangesThrottlingPolicyString;
    unsigned long long _maximumRequestCharacterCount;
    unsigned long long _syncWindow;
}

+ (id)existingSharedCloudHistoryConfiguration;
@property unsigned long long syncWindow; // @synthesize syncWindow=_syncWindow;
@property unsigned long long maximumRequestCharacterCount; // @synthesize maximumRequestCharacterCount=_maximumRequestCharacterCount;
@property(retain) NSString *multipleDeviceSaveChangesThrottlingPolicyString; // @synthesize multipleDeviceSaveChangesThrottlingPolicyString=_multipleDeviceSaveChangesThrottlingPolicyString;
@property(retain) NSString *singleDeviceSaveChangesThrottlingPolicyString; // @synthesize singleDeviceSaveChangesThrottlingPolicyString=_singleDeviceSaveChangesThrottlingPolicyString;
- (void).cxx_destruct;
- (void)applyRemoteConfiguration:(id)arg1;
- (void)applyPlatformConfiguration:(id)arg1 withTolerance:(long long)arg2;
- (id)remoteConfiguration;
- (id)platformBuiltInConfiguration;
- (id)_sharedBuiltInConfiguration;
- (void)_applyConfiguration:(id)arg1 withTolerance:(long long)arg2;
- (void)_applyBuiltInConfiguration:(id)arg1;
- (id)_builtInConfiguration;
- (id)init;

@end

@interface WBSCloudHistoryFetchResult : NSObject
{
    NSMutableArray *_mutableCloudHistoryVisits;
    NSMutableArray *_mutableHistoryTombstones;
    NSData *_serverChangeTokenData;
}

@property(readonly, nonatomic) NSData *serverChangeTokenData; // @synthesize serverChangeTokenData=_serverChangeTokenData;
- (void).cxx_destruct;
- (id)description;
- (void)_setServerChangeTokenData:(id)arg1;
- (void)_addHistoryTombstone:(id)arg1;
@property(readonly, nonatomic) NSArray *historyTombstones;
- (void)_addCloudHistoryVisit:(id)arg1;
@property(readonly, nonatomic) NSArray *cloudHistoryVisits;
- (id)init;

@end

@interface WBSCloudHistoryMergeOperation : NSObject
{
    NSObject<OS_dispatch_queue> *_queue;
    WBSHistory *_history;
    WBSCloudHistoryFetchResult *_fetchResult;
    _Bool _mergeStarted;
    NSMutableDictionary *_visitsByVisitIdentifiers;
    NSMutableSet *_redirectChainEarliestVisits;
    NSSet *_tombstones;
    NSMutableDictionary *_tombstonesByURLString;
    NSSet *_existingVisits;
    NSSet *_redirectChainSourceVisits;
}

- (void).cxx_destruct;
- (void)_mergeVisitsWithCompletion:(CDUnknownBlockType)arg1;
- (void)_lookupRedirectChainSourcesWithCompletion:(CDUnknownBlockType)arg1;
- (void)_removeDuplicateVisits;
- (void)_lookUpExistingItemsWithCompletion:(CDUnknownBlockType)arg1;
- (void)_filterVisitsByTombstones;
- (void)_buildRedirectChains;
- (void)_loadTombstonesWithCompletion:(CDUnknownBlockType)arg1;
- (void)_buildVisitsByVisitIdentifiersMap;
- (void)_replayAndAddTombstones;
- (void)mergeWithCompletion:(CDUnknownBlockType)arg1;
- (id)initWithHistory:(id)arg1 fetchResult:(id)arg2;

@end

@interface WBSCloudHistoryStore : NSObject
{
    NSObject<OS_dispatch_queue> *_databaseQueue;
    CKDatabase *_database;
    CKRecordZone *_recordZone;
}

+ (id)sharedCloudHistoryStore;
- (void).cxx_destruct;
- (id)_debugDescriptionForRecord:(id)arg1;
- (id)_debugAllRecordsDescription;
- (void)fetchNumberOfDevicesInSyncCircleWithCompletion:(CDUnknownBlockType)arg1;
- (void)_resetRecordZone;
- (void)_prepareRecordZoneWithCompletion:(CDUnknownBlockType)arg1;
- (id)_dictionaryForRecordData:(id)arg1;
- (id)_recordDataForDictionary:(id)arg1;
- (id)_recordWithType:(id)arg1 zoneID:(id)arg2 version:(unsigned long long)arg3 dataDictionary:(id)arg4;
- (void)_deleteAllRecordsWithCompletion:(CDUnknownBlockType)arg1;
- (void)_appendRecord:(id)arg1 toResult:(id)arg2;
- (void)_fetchRecordsWithServerChangeToken:(id)arg1 result:(id)arg2 completion:(CDUnknownBlockType)arg3;
- (void)fetchRecordsWithServerChangeTokenData:(id)arg1 completion:(CDUnknownBlockType)arg2;
- (id)_recordWithHistoryTombstones:(id)arg1 zoneID:(id)arg2;
- (id)_recordWithCloudHistoryVisits:(id)arg1 zoneID:(id)arg2;
- (id)_recordsWithCloudHistoryVisits:(id)arg1 zoneID:(id)arg2;
- (void)_saveRecords:(id)arg1 withCompletion:(CDUnknownBlockType)arg2;
- (void)_saveCloudHistoryVisits:(id)arg1 tombstones:(id)arg2 completion:(CDUnknownBlockType)arg3;
- (void)saveCloudHistoryVisits:(id)arg1 tombstones:(id)arg2 completion:(CDUnknownBlockType)arg3;
- (id)init;

@end

@interface WBSCloudHistorySyncThrottler : NSObject
{
    NSMutableArray *_syncOperationsWithinMonitoredPeriod;
    NSArray *_throttlingDistribution;
    double _numberOfSecondsToMonitor;
    unsigned long long _maximumNumberOfOperationWithinMonitoredPeriod;
    id <WBSCloudHistorySyncThrottlerDataStore> _dataStore;
}

+ (id)_distributionBucketsFromConfiguration:(id)arg1;
+ (_Bool)policyStringRepresentsValidPolicy:(id)arg1;
@property(retain, nonatomic) id <WBSCloudHistorySyncThrottlerDataStore> dataStore; // @synthesize dataStore=_dataStore;
- (void).cxx_destruct;
- (unsigned long long)_test_maximumNumberOfOperationWithinMonitoredPeriod;
- (double)_test_numberOfSecondsToMonitor;
- (void)_saveRecordOfPastSyncOperations;
- (void)_loadRecordOfPastSyncOperations;
- (void)_addSyncOperationAtDate:(id)arg1;
- (void)_pruneExpiredOrInvalidSyncEntries;
- (double)_currentMinimumTimeIntervalBetweenSyncOperations;
- (double)_minimumTimeBetweenSyncOperationsForSyncOperations:(id)arg1;
- (double)_timeIntervalUntilSyncOperationShouldBePruned:(id)arg1;
- (double)_timeIntervalUntilNextPermittedSyncAttemptWithNormalPriority;
- (id)_dateOfNextPermittedSyncAttemptWithNormalPriority;
- (_Bool)_loadDistributionConfiguration:(id)arg1;
- (void)setPolicyString:(id)arg1;
- (_Bool)_throttlerIsActive;
- (id)description;
- (void)syncAttemptWithPriority:(long long)arg1 didCompleteWithResult:(long long)arg2;
- (id)dateOfNextPermittedSyncAttemptWithPriority:(long long)arg1;
- (_Bool)throttlingPolicyPermitsSyncAttemptWithPriority:(long long)arg1;
- (id)initWithPolicyString:(id)arg1;
- (id)init;

@end

@interface WBSCloudHistoryVisit : NSObject
{
    _Bool _loadSuccessful;
    _Bool _httpNonGet;
    WBSCloudHistoryVisitIdentifier *_visitIdentifier;
    NSString *_title;
    WBSCloudHistoryVisitIdentifier *_redirectSourceVisitIdentifier;
    WBSCloudHistoryVisit *_redirectSourceVisit;
    WBSCloudHistoryVisitIdentifier *_redirectDestinationVisitIdentifier;
    WBSCloudHistoryVisit *_redirectDestinationVisit;
}

@property(nonatomic) __weak WBSCloudHistoryVisit *redirectDestinationVisit; // @synthesize redirectDestinationVisit=_redirectDestinationVisit;
@property(copy, nonatomic) WBSCloudHistoryVisitIdentifier *redirectDestinationVisitIdentifier; // @synthesize redirectDestinationVisitIdentifier=_redirectDestinationVisitIdentifier;
@property(nonatomic) __weak WBSCloudHistoryVisit *redirectSourceVisit; // @synthesize redirectSourceVisit=_redirectSourceVisit;
@property(copy, nonatomic) WBSCloudHistoryVisitIdentifier *redirectSourceVisitIdentifier; // @synthesize redirectSourceVisitIdentifier=_redirectSourceVisitIdentifier;
@property(nonatomic, getter=wasHTTPNonGet) _Bool httpNonGet; // @synthesize httpNonGet=_httpNonGet;
@property(nonatomic, getter=loadWasSuccessful) _Bool loadSuccessful; // @synthesize loadSuccessful=_loadSuccessful;
@property(copy, nonatomic) NSString *title; // @synthesize title=_title;
@property(copy, nonatomic) WBSCloudHistoryVisitIdentifier *visitIdentifier; // @synthesize visitIdentifier=_visitIdentifier;
- (void).cxx_destruct;
- (id)description;
@property(readonly, nonatomic) NSDictionary *dictionaryRepresentation;
- (id)initWithHistoryVisit:(id)arg1;
- (id)initWithDictionary:(id)arg1;

@end

@interface WBSCloudHistoryVisitIdentifier : NSObject <NSCopying>
{
    NSString *_urlString;
    double _visitTime;
    WBSHistoryItem *_associatedHistoryItem;
    WBSHistoryVisit *_associatedHistoryVisit;
}

@property(retain, nonatomic) WBSHistoryVisit *associatedHistoryVisit; // @synthesize associatedHistoryVisit=_associatedHistoryVisit;
@property(retain, nonatomic) WBSHistoryItem *associatedHistoryItem; // @synthesize associatedHistoryItem=_associatedHistoryItem;
@property(nonatomic) double visitTime; // @synthesize visitTime=_visitTime;
@property(copy, nonatomic) NSString *urlString; // @synthesize urlString=_urlString;
- (void).cxx_destruct;
- (id)description;
- (_Bool)isEqual:(id)arg1;
- (unsigned long long)hash;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)initWithURLString:(id)arg1 visitTime:(double)arg2;

@end

@interface WBSCloudTab : NSObject <NSCopying>
{
    _Bool _isShowingReader;
    NSDictionary *_readerScrollPositionDictionary;
    NSString *_title;
    NSURL *_url;
    NSUUID *_uuid;
}

+ (id)_dictionaryWithURL:(id)arg1 uuid:(id)arg2 title:(id)arg3 isShowingReader:(_Bool)arg4 readerScrollPosition:(id)arg5;
@property(retain, nonatomic) NSUUID *uuid; // @synthesize uuid=_uuid;
@property(retain, nonatomic) NSURL *url; // @synthesize url=_url;
@property(copy, nonatomic) NSString *title; // @synthesize title=_title;
@property(copy, nonatomic) NSDictionary *readerScrollPositionDictionary; // @synthesize readerScrollPositionDictionary=_readerScrollPositionDictionary;
@property(nonatomic) _Bool isShowingReader; // @synthesize isShowingReader=_isShowingReader;
- (void).cxx_destruct;
- (id)description;
@property(readonly, nonatomic) NSDictionary *dictionaryRepresentationForUserActivityUserInfo;
@property(readonly, nonatomic) NSDictionary *dictionaryRepresentation;
- (_Bool)hasSameUUIDAndURLAsTab:(id)arg1;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)initWithURL:(id)arg1 uuid:(id)arg2 title:(id)arg3 isShowingReader:(_Bool)arg4 readerScrollPosition:(id)arg5;
- (id)initWithDictionaryFromUserActivityUserInfo:(id)arg1;
- (id)initWithDictionary:(id)arg1;

@end

@interface WBSCloudTabCloseRequest : NSObject <NSCopying>
{
    NSUUID *_requestUUID;
    NSUUID *_sourceDeviceUUID;
    NSUUID *_destinationDeviceUUID;
    NSUUID *_tabUUID;
    NSURL *_url;
    NSDate *_lastModified;
}

+ (id)destinationDeviceUUIDInDictionary:(id)arg1;
+ (_Bool)isCloudTabCloseRequestDictionary:(id)arg1;
+ (id)_dictionaryWithURL:(id)arg1 tabUUID:(id)arg2 lastModified:(id)arg3 sourceDeviceUUID:(id)arg4 destinationDeviceUUID:(id)arg5;
@property(readonly, nonatomic) NSDate *lastModified; // @synthesize lastModified=_lastModified;
@property(readonly, nonatomic) NSURL *url; // @synthesize url=_url;
@property(readonly, nonatomic) NSUUID *tabUUID; // @synthesize tabUUID=_tabUUID;
@property(readonly, nonatomic) NSUUID *destinationDeviceUUID; // @synthesize destinationDeviceUUID=_destinationDeviceUUID;
@property(readonly, nonatomic) NSUUID *sourceDeviceUUID; // @synthesize sourceDeviceUUID=_sourceDeviceUUID;
@property(readonly, nonatomic) NSUUID *requestUUID; // @synthesize requestUUID=_requestUUID;
- (void).cxx_destruct;
- (_Bool)matchesCloudTab:(id)arg1;
- (id)description;
@property(readonly, nonatomic) NSDictionary *dictionaryRepresentation;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)initWithURL:(id)arg1 tabUUID:(id)arg2 lastModified:(id)arg3 sourceDeviceUUID:(id)arg4 destinationDeviceUUID:(id)arg5 requestUUID:(id)arg6;
- (id)initWithDictionary:(id)arg1 requestUUID:(id)arg2;

@end

@interface WBSCloudTabDevice : NSObject <NSCopying>
{
    _Bool _closeRequestSupported;
    _Bool _hasDuplicateName;
    NSString *_name;
    NSString *_uuid;
    NSArray *_tabs;
    NSDate *_lastModified;
}

+ (_Bool)hasDuplicateDeviceNameInDictionary:(id)arg1;
+ (id)lastModifiedDateInDictionary:(id)arg1;
+ (id)deviceNameInDictionary:(id)arg1;
+ (unsigned long long)tabCountInDictionary:(id)arg1;
+ (_Bool)isCloudTabDeviceDictionary:(id)arg1;
+ (id)_dictionaryWithDeviceName:(id)arg1 lastModified:(id)arg2 hasDuplicateName:(_Bool)arg3 tabs:(id)arg4;
@property(readonly, nonatomic) NSDate *lastModified; // @synthesize lastModified=_lastModified;
@property(readonly, copy, nonatomic) NSArray *tabs; // @synthesize tabs=_tabs;
@property(readonly, copy, nonatomic) NSString *uuid; // @synthesize uuid=_uuid;
@property(readonly, nonatomic) _Bool hasDuplicateName; // @synthesize hasDuplicateName=_hasDuplicateName;
@property(readonly, nonatomic, getter=isCloseRequestSupported) _Bool closeRequestSupported; // @synthesize closeRequestSupported=_closeRequestSupported;
@property(readonly, copy, nonatomic) NSString *name; // @synthesize name=_name;
- (void).cxx_destruct;
@property(readonly, nonatomic) NSDictionary *dictionaryRepresentation;
- (id)description;
- (id)deviceByRemovingTabs:(id)arg1;
- (id)deviceByRemovingTab:(id)arg1;
- (id)copyWithZone:(struct _NSZone *)arg1;
- (id)initWithDeviceName:(id)arg1 lastModified:(id)arg2 hasDuplicateName:(_Bool)arg3 tabs:(id)arg4 uuid:(id)arg5;
- (id)initWithDictionary:(id)arg1 uuid:(id)arg2;

@end

@interface WBSCloudTabStore : NSObject
{
    NSMutableArray *_syncedCloudTabDevices;
    NSMutableDictionary *_deviceUUIDsToCloseRequests;
}

- (void).cxx_destruct;
- (void)_closeRequestedTabIfPossible:(id)arg1;
- (void)_removeObjectFromKeyValueStore:(long long)arg1 forKey:(id)arg2;
- (void)_setDictionaryInKeyValueStore:(long long)arg1 dictionary:(id)arg2 forKey:(id)arg3;
- (id)_keyValueStoreDictionaryRepresentation:(long long)arg1;
- (id)_currentDeviceUUID;
- (void)_addDeviceDictionary:(id)arg1 deviceUUID:(id)arg2;
- (_Bool)_closeTabs:(id)arg1 onDevice:(id)arg2;
- (_Bool)_writeCloseRequestForTab:(id)arg1 onDevice:(id)arg2;
- (void)_addCloseRequestDictionary:(id)arg1 requestUUID:(id)arg2;
- (void)_pruneOrphanedCloseRequests;
- (void)_removeSyncedCloudTabsWithOutstandingCloseRequests;
- (id)_deviceWithTabsWithOutstandingCloseRequestsRemoved:(id)arg1;
- (void)handleCloseTabRequests;
- (_Bool)closeAllTabsOnDevice:(id)arg1;
- (_Bool)closeTabs:(id)arg1 onDevice:(id)arg2;
- (_Bool)closeTab:(id)arg1 onDevice:(id)arg2;
- (void)pruneExpiredDevices;
- (void)createSyncedCloudTabDevicesAndCloseRequests;
- (void)resetSyncedCloudTabDevicesAndCloseRequests;
@property(readonly, copy, nonatomic) NSArray *syncedCloudTabDevices;

@end

@interface WBSCompletionQuery : NSObject
{
    NSString *_queryString;
    NSString *_parsecFeedbackQueryIdentifier;
    NSURLRequest *_parsecSearchRequest;
    time_point_e708cccf _timestamp;
    NSString *_searchSuggestionProviderIdentifier;
    duration_6174cf92 _searchSuggestionProviderLatency;
    duration_6174cf92 _parsecLatency;
    unsigned long long _indexInFeedbackArray;
}

@property(nonatomic) unsigned long long indexInFeedbackArray; // @synthesize indexInFeedbackArray=_indexInFeedbackArray;
@property(nonatomic) duration_6174cf92 parsecLatency; // @synthesize parsecLatency=_parsecLatency;
@property(nonatomic) duration_6174cf92 searchSuggestionProviderLatency; // @synthesize searchSuggestionProviderLatency=_searchSuggestionProviderLatency;
@property(copy, nonatomic) NSString *searchSuggestionProviderIdentifier; // @synthesize searchSuggestionProviderIdentifier=_searchSuggestionProviderIdentifier;
@property(readonly, nonatomic) time_point_e708cccf timestamp; // @synthesize timestamp=_timestamp;
@property(copy, nonatomic) NSURLRequest *parsecSearchRequest; // @synthesize parsecSearchRequest=_parsecSearchRequest;
@property(copy, nonatomic) NSString *parsecFeedbackQueryIdentifier; // @synthesize parsecFeedbackQueryIdentifier=_parsecFeedbackQueryIdentifier;
@property(readonly, nonatomic) NSString *queryString; // @synthesize queryString=_queryString;
- (id).cxx_construct;
- (void).cxx_destruct;
- (id)description;
- (id)initWithQueryString:(id)arg1;

@end

@interface WBSCredentialMatch : WBSFormAutoFillItem
{
    NSURLCredential *_credential;
    NSURLProtectionSpace *_protectionSpace;
}

@property(readonly, nonatomic) NSURLProtectionSpace *protectionSpace; // @synthesize protectionSpace=_protectionSpace;
@property(readonly, nonatomic) NSURLCredential *credential; // @synthesize credential=_credential;
- (void).cxx_destruct;
- (id)completion;
- (id)initWithCredential:(id)arg1 protectionSpace:(id)arg2;
- (id)initWithCredential:(id)arg1;

@end

@interface WBSCreditCardData : NSObject
{
    NSString *_cardName;
    NSString *_cardholderName;
    NSString *_cardNumber;
    NSDate *_expirationDate;
}

@property(readonly, copy, nonatomic) NSDate *expirationDate; // @synthesize expirationDate=_expirationDate;
@property(copy, nonatomic) NSString *cardNumber; // @synthesize cardNumber=_cardNumber;
@property(copy, nonatomic) NSString *cardholderName; // @synthesize cardholderName=_cardholderName;
@property(copy, nonatomic) NSString *cardName; // @synthesize cardName=_cardName;
- (void).cxx_destruct;
- (id)creditCardDataByMergingCardholderNameAndExpirationDateFromCard:(id)arg1;
- (id)keychainRepresentation;
- (id)initWithKeychainRepresentation:(id)arg1;
- (id)description;
- (id)initWithCardName:(id)arg1 number:(id)arg2 cardholderName:(id)arg3 expirationDate:(id)arg4;

@end

@interface WBSCreditCardDataController : NSObject
{
    NSMapTable *_creditCardDataKeychainReferences;
}

+ (_Bool)hasCreditCardData;
- (void).cxx_destruct;
- (void)invalidateCreditCardData;
- (void)clearCreditCardData;
- (void)creditCardDataDidChange;
- (void)neverSaveCreditCardData:(id)arg1;
- (void)_removeNeverSaveCreditCardData:(id)arg1;
- (id)_neverSavedCreditCardSuffixFromCardNumber:(id)arg1;
- (id)_neverSavedCreditCardSuffixFromCard:(id)arg1;
- (_Bool)isCreditCardDataSaved:(id)arg1;
- (void)saveCreditCardDataIfAllowed:(id)arg1;
- (void)saveCreditCardData:(id)arg1;
- (void)replaceCreditCardData:(id)arg1 withCard:(id)arg2;
- (void)removeCreditCardData:(id)arg1;
- (id)savableCreditCardDataInForm:(id)arg1;
- (id)defaultNameForCardOfType:(unsigned long long)arg1 cardholderName:(id)arg2;
- (id)_uniqueCardNameForCardName:(id)arg1;
- (_Bool)shouldAddCardWithNumber:(id)arg1;
- (id)existingCardWithNumber:(id)arg1;
- (_Bool)shouldNeverSaveCardWithNumber:(id)arg1;
@property(readonly, nonatomic) NSArray *creditCardData;
- (id)init;

@end

@interface WBSCreditCardFormatter : NSFormatter
{
    _Bool _showLastFourDigits;
    _Bool _showCreditCardNumber;
    _Bool _allowsUnknownCardTypes;
}

@property(nonatomic) _Bool allowsUnknownCardTypes; // @synthesize allowsUnknownCardTypes=_allowsUnknownCardTypes;
@property(nonatomic) _Bool showCreditCardNumber; // @synthesize showCreditCardNumber=_showCreditCardNumber;
@property(nonatomic) _Bool showLastFourDigits; // @synthesize showLastFourDigits=_showLastFourDigits;
- (struct _NSRange)_selectionRangeInFormattedCreditCardNumber:(id)arg1 forNormalizedSelectionRange:(struct _NSRange)arg2 inNormalizedCreditCardNumber:(id)arg3;
- (struct _NSRange)_normalizedSelectionRangeForFormattedCreditCardNumber:(id)arg1 withOriginalSelectionRange:(struct _NSRange)arg2;
- (id)_formattedStringForNormalizedNumber:(id)arg1 showCreditCardNumber:(_Bool)arg2;
- (_Bool)isPartialStringValid:(id *)arg1 proposedSelectedRange:(struct _NSRange *)arg2 originalString:(id)arg3 originalSelectedRange:(struct _NSRange)arg4 errorDescription:(id *)arg5;
- (_Bool)isPartialStringValid:(id)arg1 newEditingString:(id *)arg2 errorDescription:(id *)arg3;
- (_Bool)getObjectValue:(id *)arg1 forString:(id)arg2 errorDescription:(id *)arg3;
- (id)stringForObjectValue:(id)arg1;

@end

@interface WBSFeedEntry : NSObject <NSSecureCoding>
{
    NSString *_identifier;
    NSString *_urlString;
    NSString *_title;
    NSString *_entryDescription;
    NSString *_content;
    NSDate *_datePublished;
    NSDate *_dateUpdated;
}

+ (_Bool)supportsSecureCoding;
+ (id)feedEntryWithAtomFeedElement:(id)arg1;
+ (id)feedEntryWithRSSFeedElement:(id)arg1;
+ (id)dateFromAtomDateString:(id)arg1;
+ (id)dateFromRSSDateString:(id)arg1;
@property(copy, nonatomic) NSDate *dateUpdated; // @synthesize dateUpdated=_dateUpdated;
@property(copy, nonatomic) NSDate *datePublished; // @synthesize datePublished=_datePublished;
@property(copy, nonatomic) NSString *content; // @synthesize content=_content;
@property(copy, nonatomic) NSString *entryDescription; // @synthesize entryDescription=_entryDescription;
@property(copy, nonatomic) NSString *title; // @synthesize title=_title;
@property(readonly, copy, nonatomic) NSString *urlString; // @synthesize urlString=_urlString;
@property(readonly, copy, nonatomic) NSString *identifier; // @synthesize identifier=_identifier;
- (void).cxx_destruct;
- (id)description;
- (void)encodeWithCoder:(id)arg1;
- (id)initWithCoder:(id)arg1;
- (id)initWithIdentifier:(id)arg1 urlString:(id)arg2;

@end

@interface WBSFeedFinderController : NSObject
{
}

+ (struct OpaqueJSScript *)feedFinderScriptForContext:(struct OpaqueJSContext *)arg1;

@end

@interface WBSFeedMetadata : NSObject <NSSecureCoding>
{
    NSString *_title;
    NSURL *_imageURL;
    NSURL *_homepageURL;
}

+ (_Bool)supportsSecureCoding;
@property(readonly, nonatomic) NSURL *homepageURL; // @synthesize homepageURL=_homepageURL;
@property(readonly, nonatomic) NSURL *imageURL; // @synthesize imageURL=_imageURL;
@property(readonly, nonatomic) NSString *title; // @synthesize title=_title;
- (void).cxx_destruct;
- (id)description;
- (void)encodeWithCoder:(id)arg1;
- (id)initWithCoder:(id)arg1;
- (id)initWithTitle:(id)arg1 imageURL:(id)arg2 homepageURL:(id)arg3;

@end

@interface WBSFeedSource : NSObject
{
    _Bool _subscribedWhenSyncWasOff;
    NSURL *_sourceURL;
    NSURL *_feedURL;
    NSArray *_siteIconURLs;
    long long _state;
    NSString *_title;
}

@property(nonatomic) _Bool subscribedWhenSyncWasOff; // @synthesize subscribedWhenSyncWasOff=_subscribedWhenSyncWasOff;
@property(retain, nonatomic) NSString *title; // @synthesize title=_title;
@property(readonly, nonatomic) long long state; // @synthesize state=_state;
@property(readonly, nonatomic) NSArray *siteIconURLs; // @synthesize siteIconURLs=_siteIconURLs;
@property(readonly, nonatomic) NSURL *feedURL; // @synthesize feedURL=_feedURL;
@property(readonly, nonatomic) NSURL *sourceURL; // @synthesize sourceURL=_sourceURL;
- (void).cxx_destruct;
- (id)description;
- (unsigned long long)hash;
- (_Bool)isEqual:(id)arg1;
- (_Bool)isEqualIgnoringTitle:(id)arg1;
@property(readonly, nonatomic) NSString *displayName;
- (id)initFromDictionaryRepresentation:(id)arg1;
- (id)initWithFeedURL:(id)arg1 sourceURL:(id)arg2 siteIconURLs:(id)arg3 title:(id)arg4 state:(long long)arg5;
- (id)dictionaryRepresentationForSyncing;
- (id)dictionaryRepresentation;

@end

@interface WBSFluidProgressAnimation : NSObject
{
    CAMediaTimingFunction *_timingFunction;
    double _initialPosition;
    double _destinationPosition;
    double _animationDuration;
}

@property(nonatomic) double animationDuration; // @synthesize animationDuration=_animationDuration;
@property(nonatomic) double destinationPosition; // @synthesize destinationPosition=_destinationPosition;
@property(nonatomic) double initialPosition; // @synthesize initialPosition=_initialPosition;
@property(retain, nonatomic) CAMediaTimingFunction *timingFunction; // @synthesize timingFunction=_timingFunction;
- (void).cxx_destruct;

@end

@interface WBSFluidProgressController : NSObject
{
    id <WBSFluidProgressControllerDelegate> _delegate;
    id <WBSFluidProgressControllerWindowDelegate> _windowDelegate;
}

@property __weak id <WBSFluidProgressControllerWindowDelegate> windowDelegate; // @synthesize windowDelegate=_windowDelegate;
@property __weak id <WBSFluidProgressControllerDelegate> delegate; // @synthesize delegate=_delegate;
- (void).cxx_destruct;
- (void)progressStateSourceDidCommitLoad:(id)arg1 loadingSingleResource:(_Bool)arg2;
- (void)animationStepCompleted:(id)arg1;
- (void)frontmostTabDidChange;
- (void)startRocketEffectWithProgressStateSource:(id)arg1;
- (void)cancelFluidProgressWithProgressStateSource:(id)arg1;
- (void)finishFluidProgressWithProgressStateSource:(id)arg1;
- (void)updateFluidProgressWithProgressStateSource:(id)arg1;
- (void)startFluidProgressWithProgressStateSource:(id)arg1;
- (void)_updateFluidProgressWithProgressStateSource:(id)arg1;

@end

@interface WBSFluidProgressState : NSObject
{
    long long _fluidProgressType;
    NSString *_loadURL;
    double _webKitProgressValue;
    double _linearFunctionM;
    double _linearFunctionB;
    double _startTimeForFluidProgress;
    double _lastTimeProgressValueWasUpdated;
    long long _fluidProgressAnimationPhase;
    double _previousDestinationPosition;
    double _animationDuration;
    double _minProgressPosition;
    _Bool _hasCompletedLoad;
    _Bool _hasCanceledLoad;
    _Bool _hasCommittedLoad;
    _Bool _shouldAnimateUsingInitialPosition;
}

+ (double)_estimatedLoadTimeRemainingFromProgressValue:(double)arg1;
@property _Bool shouldAnimateUsingInitialPosition; // @synthesize shouldAnimateUsingInitialPosition=_shouldAnimateUsingInitialPosition;
@property _Bool hasCommittedLoad; // @synthesize hasCommittedLoad=_hasCommittedLoad;
@property _Bool hasCanceledLoad; // @synthesize hasCanceledLoad=_hasCanceledLoad;
@property _Bool hasCompletedLoad; // @synthesize hasCompletedLoad=_hasCompletedLoad;
@property(retain) NSString *loadURL; // @synthesize loadURL=_loadURL;
@property long long fluidProgressType; // @synthesize fluidProgressType=_fluidProgressType;
- (void).cxx_destruct;
- (double)secondsElapsedSinceLoadBegan;
- (_Bool)isFluidProgressStalled;
- (id)nextFluidProgressAnimation;
- (double)fluidProgressValue;
@property double minProgressPosition;
- (void)setWebKitProgressValue:(double)arg1;
@property long long fluidProgressAnimationPhase;
- (id)description;
- (id)initWithType:(long long)arg1;
- (void)_updateLinearFunction;
- (double)_nextProgressPosition:(double)arg1;
- (double)_fractionCompleteAtElapsedTime:(double)arg1;
- (double)_estimatedLoadTimeRemaining;
- (double)_animationDuration;
- (double)_adjustProgressPosition:(double)arg1;

@end

@interface WBSFormDataController : NSObject
{
    NSMutableDictionary *_completionDB;
    NSMutableDictionary *_valuesDB;
    NSMutableDictionary *_preferredLabelsMap;
    unsigned long long _completionDBSize;
    NSMutableDictionary *_domainToLastUsedUsernameAndProtectionSpace;
    NSDictionary *_allCredentialsCache;
    NSObject<OS_dispatch_queue> *_allCredentialsCacheAccessQueue;
    int _keychainChangedNotificationToken;
}

+ (id)domainFromURL:(id)arg1;
+ (_Bool)canAutocompleteTextField:(id)arg1 inForm:(id)arg2;
+ (id)continuingFieldsInFormControls:(id)arg1 startingAtIndex:(unsigned long long)arg2 textFieldsOnly:(_Bool)arg3 ignorePositioning:(_Bool)arg4;
+ (id)stringWithAddressBookValue:(id)arg1 key:(id)arg2;
+ (id)specifierForControl:(id)arg1;
+ (_Bool)formContainsCreditCardNumberField:(id)arg1;
+ (_Bool)formContainsCreditCardData:(id)arg1;
+ (_Bool)stringLooksLikeCreditCardNumber:(id)arg1;
+ (id)valueOfControlWithUniqueID:(id)arg1 inForm:(id)arg2;
+ (id)_metadataForControlWithUniqueID:(id)arg1 inForm:(id)arg2;
+ (_Bool)convertNumber:(id)arg1 toAutoFillFormType:(unsigned long long *)arg2;
+ (id)dontSaveMarker;
- (void).cxx_destruct;
- (id)substituteCredential:(id)arg1 inProtectionSpace:(id)arg2;
- (void)willSubmitFormWithCredentials:(id)arg1 atURL:(id)arg2 username:(id *)arg3 password:(id *)arg4;
- (_Bool)hasCredentialsForPageWithMainFrame:(id)arg1;
- (id)activeOrFirstAutoFillableFormFromProvider:(id)arg1 frame:(struct OpaqueFormAutoFillFrame **)arg2 forPrefillingCredentials:(_Bool)arg3;
- (void)getCredentialMatches:(id *)arg1 andPotentialMatches:(id *)arg2 forURL:(id)arg3 matchingPartialUsername:(id)arg4 omittingCredentialsUserHasDeniedAccessTo:(_Bool)arg5;
- (void)getCredentialMatches:(id *)arg1 andPotentialMatches:(id *)arg2 forURL:(id)arg3 matchingPartialUsername:(id)arg4;
- (id)credentialMatchesForURL:(id)arg1 matchingPartialString:(id)arg2;
- (id)encryptOrDecryptData:(id)arg1 encrypt:(_Bool)arg2;
- (id)completionDBPath;
- (_Bool)hasUserDeniedAccessToCredential:(id)arg1 inProtectionSpace:(id)arg2;
- (_Bool)shouldAutoFillPasswords;
- (_Bool)shouldAutoFillFromPreviousData;
- (_Bool)shouldAutoFillFromAddressBook;
- (id)lastUsedUsernameForURL:(id)arg1 protectionSpace:(id *)arg2;
- (id)lastUsedUsernameForURL:(id)arg1;
- (void)_setLastUsedUsername:(id)arg1 andProtectionSpace:(id)arg2 forDomain:(id)arg3;
- (id)_lastUsedUsernameForDomain:(id)arg1 protectionSpace:(id *)arg2;
- (id)valuesFromCredential:(id)arg1 forLoginOrChangePasswordForm:(id)arg2;
- (id)valuesForLoginOrChangePasswordForm:(id)arg1 atURL:(id)arg2 potentialMatches:(id *)arg3;
- (id)matchForLoginOrChangePasswordForm:(id)arg1 atURL:(id)arg2 potentialMatches:(id *)arg3;
- (id)valuesForLoginOrChangePasswordForm:(id)arg1 atURL:(id)arg2;
- (id)valuesForStandardForm:(id)arg1 inDomain:(id)arg2 usingOnlyAddressBookData:(_Bool)arg3 matches:(id *)arg4 preferredLabel:(id)arg5;
- (id)valuesForStandardForm:(id)arg1 inDomain:(id)arg2 usingOnlyAddressBookData:(_Bool)arg3 matches:(id *)arg4;
- (void)getFormFieldValues:(id *)arg1 andFieldToFocus:(id *)arg2 forCreditCardForm:(id)arg3 fromCreditCardData:(id)arg4;
- (id)valuesForCreditCardForm:(id)arg1 fromCreditCardData:(id)arg2;
- (unsigned long long)addValuesForStandardFormControls:(id)arg1 startingAtIndex:(unsigned long long)arg2 fromAutoFillItem:(id)arg3 toDictionary:(id)arg4 formTextSample:(id)arg5;
- (unsigned long long)addValuesForStandardFormControlsInForm:(id)arg1 startingAtIndex:(unsigned long long)arg2 fromAutoFillItem:(id)arg3 toDictionary:(id)arg4;
- (id)bestMatchForControl:(id)arg1 inDomain:(id)arg2 matchingPartialString:(id)arg3 usingOnlyAddressBookData:(_Bool)arg4 preferredLabel:(id)arg5;
- (id)matchesForControl:(id)arg1 withName:(id)arg2 inDomain:(id)arg3 matchingPartialString:(id)arg4 usingOnlyAddressBookData:(_Bool)arg5 preferredLabel:(id)arg6;
- (id)matchesForControl:(id)arg1 withName:(id)arg2 atURL:(id)arg3 matchingPartialString:(id)arg4 usingOnlyAddressBookData:(_Bool)arg5;
- (void)addABMatchesForValueSpecifier:(id)arg1 matchingPartialString:(id)arg2 toArray:(id)arg3 preferredLabel:(id)arg4;
- (id)addressBookMatchesForProperty:(id)arg1 key:(id)arg2 label:(id)arg3;
- (void)addPreviousDataMatchesForFieldWithName:(id)arg1 inDomain:(id)arg2 matchingPartialString:(id)arg3 toArray:(id)arg4;
- (id)preferredIdentifierForProperty:(id)arg1;
- (void)setPreferredIdentifier:(id)arg1 forProperty:(id)arg2;
- (void)reapABMarker:(id)arg1 domain:(id)arg2 fieldName:(id)arg3;
- (void)domainsWithPreviousDataChanged;
- (void)setInfo:(id)arg1 forDomain:(id)arg2;
- (id)infoForDomain:(id)arg1;
- (void)clearPreviousDataDatabase;
- (void)clearPreviousDataDatabaseItemsAddedAfterDate:(id)arg1;
- (void)clearPreviousDataForDomain:(id)arg1;
- (id)domainsWithPreviousData;
- (void)saveCompletionDBSoon;
- (id)allFormDataForSaving;
- (void)pruneCompletionDB;
- (void)loadCompletionDBIfNeeded;
- (void)dealloc;
- (id)init;

@end

@interface WBSFormMetadataController : NSObject
{
    struct HashMap<OpaqueFormAutoFillFrame *, WTF::OwnPtr<FrameMetadata>, WTF::PtrHash<OpaqueFormAutoFillFrame *>, WTF::HashTraits<OpaqueFormAutoFillFrame *>, WTF::HashTraits<WTF::OwnPtr<FrameMetadata>>> _framesToMetadataMap;
}

- (id).cxx_construct;
- (void).cxx_destruct;
- (id)visibleNonEmptyTextFieldsInForm:(id)arg1 inFrame:(id)arg2;
- (id)formSubmissionURLStringForSearchTextField:(id)arg1 inFrame:(id)arg2 useStrictDetection:(_Bool)arg3;
- (id)formAutoFillNodeForField:(id)arg1 inFrame:(id)arg2;
- (id)formAutoFillNodeForJSWrapper:(struct OpaqueJSValue *)arg1 inContext:(struct OpaqueJSContext *)arg2;
- (void)usernameFieldBlurredInFrame:(id)arg1;
- (void)usernameFieldFocused:(id)arg1 inForm:(id)arg2 inFrame:(id)arg3;
- (void)creditCardFieldBlurredInFrame:(id)arg1;
- (void)creditCardFieldFocused:(id)arg1 inFrame:(id)arg2;
- (void)passwordFieldBlurredInFrame:(id)arg1;
- (void)passwordFieldFocused:(id)arg1 inFrame:(id)arg2;
- (id)formElementWithFormID:(double)arg1 inFrame:(id)arg2;
- (void)textFieldBlurred:(id)arg1 inFrame:(id)arg2;
- (void)textFieldFocused:(id)arg1 inFrame:(id)arg2;
- (_Bool)pageWithMainFrameMeetsEditedFormTextWarningCriteria:(id)arg1;
- (void)recursivelyCountUserEditedTextControlsInFrame:(id)arg1 textFields:(unsigned long long *)arg2 textAreas:(unsigned long long *)arg3;
- (void)countUserEditedTextControlsInFrame:(id)arg1 textFields:(unsigned long long *)arg2 textAreas:(unsigned long long *)arg3;
- (unsigned long long)userEditedTextControlCountInArray:(struct OpaqueJSValue *)arg1 context:(struct OpaqueJSContext *)arg2 expectTextFieldsRatherThanTextAreas:(_Bool)arg3;
- (id)uniqueIDForTextField:(id)arg1 inFrame:(id)arg2;
- (void)getMetadataForTextField:(id)arg1 inFrame:(id)arg2 textFieldMetadata:(id *)arg3 formMetadata:(id *)arg4;
- (id)metadataForForm:(id)arg1 inFrame:(id)arg2 requestType:(unsigned long long)arg3;
- (void)getMetadataForAllFormsInPageWithMainFrame:(id)arg1 requestType:(unsigned long long)arg2 frames:(id *)arg3 formMetadata:(id *)arg4;
- (void)recursivelyCollectMetadataInFrame:(id)arg1 requestType:(unsigned long long)arg2 frames:(id)arg3 formMetadata:(id)arg4;
- (struct FrameMetadata *)metadataForFrame:(id)arg1 requestType:(unsigned long long)arg2;
- (void)recursivelyClearMetadataForFrames:(id)arg1;
- (void)clearMetadataForFrame:(id)arg1;
- (void)replaceRange:(struct _NSRange)arg1 inField:(id)arg2 inFrame:(id)arg3 withString:(id)arg4 andSelectTailStartingAt:(unsigned long long)arg5;
- (void)selectRange:(struct _NSRange)arg1 inField:(id)arg2 inFrame:(id)arg3;
- (void)focusField:(id)arg1 inFrame:(id)arg2;
- (void)fillForm:(double)arg1 inFrame:(id)arg2 withPassword:(id)arg3;
- (void)finishedAutoFillingForm:(id)arg1 inFrame:(id)arg2;
- (void)autoFillFormInFrame:(id)arg1 withValues:(id)arg2 fillSynchronously:(_Bool)arg3 selectFieldAfterFilling:(id)arg4;
- (void)autoFillFormAsynchronouslyInFrame:(id)arg1 withValues:(id)arg2 selectFieldAfterFilling:(id)arg3;
- (void)autoFillFormSynchronouslyInFrame:(id)arg1 withValues:(id)arg2;
- (void)autoFillFormInFrame:(id)arg1 withValues:(id)arg2;
- (void)clearScriptWorld;
- (id)init;

@end

@interface WBSFormToABBinder : NSObject
{
}

+ (struct __WBSFieldLabelPatternMatcherArray *)emailFieldLabelPatternMatchers;
+ (struct __WBSFieldLabelPatternMatcherArray *)addressBookFieldLabelPatternMatchers;
+ (unsigned long long)indexOfBestMatchForString:(id)arg1 inArray:(id)arg2;
+ (id)specifierForAutocompleteToken:(id)arg1;
+ (id)specifierForLabel:(id)arg1;
+ (id)allSynonymsForMatch:(id)arg1;

@end

@interface WBSFrequentlyVisitedSiteCandidate : NSObject
{
    float _score;
    WBSHistoryItem *_historyItem;
}

@property(readonly, nonatomic) float score; // @synthesize score=_score;
@property(readonly, nonatomic) WBSHistoryItem *historyItem; // @synthesize historyItem=_historyItem;
- (void).cxx_destruct;
- (id)initWithHistoryItem:(id)arg1 score:(float)arg2;

@end

@interface WBSFrequentlyVisitedSitesBannedURLStore : NSObject
{
    NSURL *_storeURL;
    NSObject<OS_dispatch_queue> *_storeQueue;
    NSMutableDictionary *_bannedURLStringsToEntriesMap;
}

- (void).cxx_destruct;
- (void)_writeOutBannedURLStringsAsynchronously;
- (id)_bannedURLStringsToEntriesMap;
- (void)_historyItemsWereRemoved:(id)arg1;
- (void)_historyWasCleared:(id)arg1;
- (void)removeAllURLStrings;
- (void)removeURLStrings:(id)arg1;
- (void)addURLString:(id)arg1;
- (_Bool)containsURLString:(id)arg1;
- (void)dealloc;
- (id)initWithStoreURL:(id)arg1 history:(id)arg2;

@end

@interface WBSFrequentlyVisitedSitesController : NSObject
{
    WBSFrequentlyVisitedSitesBannedURLStore *_bannedURLStore;
    double _timeOfLastFrequentlyVisitedSitesComputation;
    WBSHistory *_history;
}

+ (float)scoreWithHistoryItemForVisitScoring:(id)arg1 historyItemForURLScoring:(id)arg2 atTime:(double)arg3 withMinimumVisitCount:(unsigned long long)arg4;
+ (float)scoreWithHistoryItemForVisitScoring:(id)arg1 historyItemForURLScoring:(id)arg2 atTime:(double)arg3;
+ (float)scoreForHistoryItem:(id)arg1 atTime:(double)arg2 withMinimumVisitCount:(unsigned long long)arg3;
+ (float)scoreForHistoryItemOnHistoryQueue:(id)arg1 atTime:(double)arg2;
+ (float)scoreForHistoryItem:(id)arg1 atTime:(double)arg2;
- (void).cxx_destruct;
- (void)_postFrequentlyVisitedSitesDidChangeNotification;
- (_Bool)_saveFrequentlyVisitedSites:(id)arg1;
- (id)_canonicalizedFavoritesURLStringSet;
- (void)_updateFrequentlyVisitedSitesWithCandidates:(id)arg1;
- (float)_scoreForHistoryItemOnHistoryQueue:(id)arg1;
- (id)_computeFrequentlyVisitedSiteCandidates;
- (void)_recomputeFrequentlyVisitedSitesNow;
- (void)clearFrequentlyVisitedSites;
- (_Bool)recomputeFrequentlyVisitedSitesIfNecessary;
@property(readonly, nonatomic) NSArray *frequentlyVisitedSites;
- (id)initWithHistory:(id)arg1 bannedURLStore:(id)arg2;

@end

@interface WBSHistory : NSObject <WBSHistoryStoreDelegate>
{
    NSObject<OS_dispatch_queue> *_entriesByURLStringAccessQueue;
    NSMutableDictionary *_entriesByURLString;
    NSCountedSet *_stringsForUserTypedDomainExpansion;
    unsigned long long _historyAgeLimitInDays;
    _Bool _hasStartedLoadingHistory;
    NSObject<OS_dispatch_queue> *_waitUntilHistoryHasLoadedQueue;
    WBSHistorySQLiteStore *_historyStore;
}

+ (void)clearExistingSharedHistory;
+ (id)historyDatabaseWriteAheadLogURL;
+ (id)historyDatabaseURL;
+ (id)historyPropertyListURL;
+ (id)existingSharedHistory;
@property(readonly, nonatomic) unsigned long long historyAgeLimitInDays; // @synthesize historyAgeLimitInDays=_historyAgeLimitInDays;
- (void).cxx_destruct;
- (Class)_historyItemClass;
- (void)_addVisitedLinksForItemsIfNeeded:(id)arg1;
- (void)_removeAllVisitedLinks;
- (id)_createHistoryStore;
- (id)historyStore;
- (void)historyStoreDidFailDatabaseIntegrityCheck:(id)arg1;
- (_Bool)historyStoreShouldCheckDatabaseIntegrity:(id)arg1;
- (void)_dispatchHistoryCleared:(id)arg1;
- (void)_dispatchHistoryItemsRemovedDuringLoading:(id)arg1;
- (void)_dispatchHistoryItemsRemoved:(id)arg1;
- (void)_dispatchHistoryItemDidChange:(id)arg1;
- (void)_dispatchHistoryItemWillChange:(id)arg1;
- (void)_dispatchHistoryItemsAdded:(id)arg1;
- (void)_dispatchHistoryItemsLoaded:(id)arg1;
- (void)_dispatchHistoryLoaded;
- (void)_sendNotification:(id)arg1 withItems:(id)arg2;
- (void)historyStore:(id)arg1 didPrepareToDeleteWithDeletionPlan:(id)arg2;
- (void)historyLoaderDidFinishLoading:(id)arg1;
- (void)historyLoader:(id)arg1 didLoadItems:(id)arg2 discardedItems:(id)arg3 stringsForUserTypeDomainExpansion:(id)arg4;
- (void)savePendingChangesBeforeTerminationWithCompletionHandler:(CDUnknownBlockType)arg1;
- (void)performBlockAfterHistoryHasLoaded:(CDUnknownBlockType)arg1;
- (void)waitUntilHistoryHasLoaded;
- (void)_waitUntilHistoryHasLoadedMainThread;
- (void)_loadHistory;
- (void)_loadHistoryAsynchronouslyIfNeeded;
- (double)_ageLimitDay;
- (void)close;
- (void)clearHistoryWithCompletionHandler:(CDUnknownBlockType)arg1;
- (void)clearHistory;
- (void)_clearHistoryVisitsAddedAfterDate:(id)arg1 beforeDate:(id)arg2 completionHandler:(CDUnknownBlockType)arg3;
- (void)clearHistoryVisitsAddedAfterDate:(id)arg1 beforeDate:(id)arg2;
- (void)updateTitle:(id)arg1 forVisit:(id)arg2;
- (_Bool)canRecordRedirectFromVisit:(id)arg1 to:(id)arg2;
- (id)itemRedirectedFrom:(id)arg1 to:(id)arg2;
- (id)itemRedirectedFrom:(id)arg1 to:(id)arg2 origin:(long long)arg3 date:(id)arg4;
- (id)itemVisitedAtURLString:(id)arg1 title:(id)arg2 timeOfVisit:(double)arg3 wasHTTPNonGet:(_Bool)arg4 wasFailure:(_Bool)arg5 increaseVisitCount:(_Bool)arg6 origin:(long long)arg7;
- (id)itemVisitedAtURLString:(id)arg1 title:(id)arg2 wasHTTPNonGet:(_Bool)arg3 wasFailure:(_Bool)arg4 increaseVisitCount:(_Bool)arg5;
- (void)_replayAndAddTombstone:(id)arg1;
- (void)_getAllTombstonesWithCompletion:(CDUnknownBlockType)arg1;
- (void)_setPushThrottlerData:(id)arg1;
- (id)_pushThrottlerData;
- (void)_setServerChangeTokenData:(id)arg1;
- (void)_getServerChangeTokenDataWithCompletion:(CDUnknownBlockType)arg1;
- (void)_visitIdentifiersMatchingExistingVisits:(id)arg1 populateAssociatedVisits:(_Bool)arg2 completion:(CDUnknownBlockType)arg3;
- (void)_getVisitsAndTombstonesNeedingSyncWithCompletion:(CDUnknownBlockType)arg1;
- (void)enumerateItemsUsingBlock:(CDUnknownBlockType)arg1;
@property(readonly, nonatomic) unsigned long long numberOfHistoryItemsOnHistoryQueue;
@property(readonly, nonatomic) unsigned long long numberOfHistoryItems;
@property(readonly, nonatomic) _Bool hasAnyHistoryItems;
- (void)_removeItemFromStringsForUserTypedDomainExpansion:(id)arg1;
- (void)_addItemToStringsForUserTypedDomainExpansion:(id)arg1;
- (_Bool)_isStringForUserTypedDomainExpansionInHistory:(id)arg1;
- (id)_removeItemForURLString:(id)arg1;
- (void)_addItem:(id)arg1 addToStringsForUserTypedDomainExpansions:(_Bool)arg2;
- (void)addAutocompleteTrigger:(id)arg1 forURLString:(id)arg2;
- (id)itemForURL:(id)arg1;
- (void)_removeHistoryItemsInResponseToUserAction:(id)arg1 completionHandler:(CDUnknownBlockType)arg2;
- (void)_removeHistoryItemsInResponseToUserAction:(id)arg1;
- (id)itemForURLString:(id)arg1;
- (void)dealloc;
- (id)init;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBSHistoryAgeAndItemCountLimitEnforcementPlan : NSObject
{
    WBSHistorySQLiteStore *_store;
    NSSet *_items;
    double _ageLimit;
    unsigned long long _itemCountLimit;
    NSSet *_itemsToKeep;
    NSSet *_itemsToDiscard;
    WBSHistoryDeletionPlan *_deletionPlan;
}

@property(readonly, nonatomic) NSSet *itemsToDiscard; // @synthesize itemsToDiscard=_itemsToDiscard;
@property(readonly, nonatomic) NSSet *itemsToKeep; // @synthesize itemsToKeep=_itemsToKeep;
- (void).cxx_destruct;
- (id)_itemsToDiscardFromItemsOrderedByLastVisitTime:(id)arg1;
- (void)execute;
- (void)prepare;
- (id)initWithSQLiteStore:(id)arg1 items:(id)arg2 ageLimit:(double)arg3 itemCountLimit:(unsigned long long)arg4;

@end

@interface WBSHistoryDeletionPlan : NSObject
{
    WBSHistorySQLiteStore *_store;
    NSSet *_excludedItems;
    NSSet *_excludedVisits;
    NSMutableSet *_discoveredItemsToDelete;
    NSSet *_triggeringItems;
    NSSet *_triggeringVisits;
    NSSet *_discoveredVisitsToDelete;
    NSMapTable *_updatedLastVisitsByItem;
}

@property(readonly, nonatomic) NSMapTable *updatedLastVisitsByItem; // @synthesize updatedLastVisitsByItem=_updatedLastVisitsByItem;
@property(readonly, nonatomic) NSSet *discoveredVisitsToDelete; // @synthesize discoveredVisitsToDelete=_discoveredVisitsToDelete;
@property(readonly, nonatomic) NSSet *discoveredItemsToDelete; // @synthesize discoveredItemsToDelete=_discoveredItemsToDelete;
@property(readonly, nonatomic) NSSet *triggeringVisits; // @synthesize triggeringVisits=_triggeringVisits;
@property(readonly, nonatomic) NSSet *triggeringItems; // @synthesize triggeringItems=_triggeringItems;
- (void).cxx_destruct;
- (id)_extraVisitsToDeleteWhenDeletingItems:(id)arg1 visits:(id)arg2 relatedVisitKey:(id)arg3 relatedVisitsQueryFactory:(CDUnknownBlockType)arg4;
- (id)_extraVisitsToDeleteWhenDeletingItems:(id)arg1 visits:(id)arg2;
- (id)_visitsForItems:(id)arg1;
- (void)_prepareWithTriggeringItems:(id)arg1 triggeringVisits:(id)arg2;
- (void)prepare;
@property(readonly, nonatomic) NSMapTable *allVisitsToDeleteByItemExcludingItemsBeingDeleted;
@property(readonly, nonatomic) NSSet *allVisitsToDeleteExcludingVisitsFromItemsBeingDeleted;
@property(readonly, nonatomic) NSSet *allItemsToDelete;
- (id)initWithSQLiteStore:(id)arg1 triggeringVisits:(id)arg2 excludingItems:(id)arg3 visits:(id)arg4;
- (id)initWithSQLiteStore:(id)arg1 triggeringItems:(id)arg2 excludingItems:(id)arg3 visits:(id)arg4;

@end

@interface WBSHistoryItem : NSObject
{
    NSString *_urlString;
    WBSHistoryVisit *_lastVisit;
    NSMutableSet *_visitsPendingWriteToDataStore;
    long long _databaseID;
    unsigned long long _visitCount;
    struct Vector<int, 0, WTF::CrashOnOverflow> _dailyVisitCounts;
    struct Vector<int, 0, WTF::CrashOnOverflow> _weeklyVisitCounts;
    NSMutableArray *_redirectSourceItems;
    NSMutableArray *_autocompleteTriggers;
    NSMutableArray *_visits;
    _Bool _shouldRecomputeDerivedVisitCounts;
    float _cachedTopSitesURLPenalty;
    float _cachedTopSitesVisitScore;
    NSURL *_url;
    NSString *_userVisibleURLString;
    double _lastTimeTopSitesScoreWasComputed;
}

+ (double)timeIntervalForDailyAndWeeklyVisitCounts;
+ (id)synchronizationQueue;
+ (void)initialize;
@property(nonatomic) double lastTimeTopSitesScoreWasComputed; // @synthesize lastTimeTopSitesScoreWasComputed=_lastTimeTopSitesScoreWasComputed;
@property(nonatomic) float cachedTopSitesVisitScore; // @synthesize cachedTopSitesVisitScore=_cachedTopSitesVisitScore;
@property(nonatomic) float cachedTopSitesURLPenalty; // @synthesize cachedTopSitesURLPenalty=_cachedTopSitesURLPenalty;
@property(readonly, nonatomic) _Bool shouldRecomputeDerivedVisitCounts; // @synthesize shouldRecomputeDerivedVisitCounts=_shouldRecomputeDerivedVisitCounts;
@property(readonly, nonatomic) NSArray *visits; // @synthesize visits=_visits;
@property(nonatomic) long long databaseID; // @synthesize databaseID=_databaseID;
- (id).cxx_construct;
- (void).cxx_destruct;
- (Vector_4bee0f08)_timesForVisits:(unsigned long long)arg1 toSynthesizeBetweenStartTime:(double)arg2 endTime:(double)arg3;
- (Vector_4bee0f08)_timesForSynthesizedVisitsPreceedingDailyAndWeeklyRange:(unsigned long long)arg1;
- (Vector_4bee0f08)_timesOfVisitsToSynthesizeFromDailyAndWeeklyCounts;
- (void)recordSynthesizedRedirectFrom:(id)arg1 to:(id)arg2;
- (void)recordExistingRedirectFrom:(id)arg1 to:(id)arg2;
- (long long)compareWithItemByLastVisitedTimeInterval:(id)arg1;
- (void)recomputeDerivedVisitCountsWithVisitTimes:(id)arg1;
@property(readonly, nonatomic) NSData *autocompleteTriggersDataOnSynchronizationQueue;
@property(readonly, nonatomic) NSData *weeklyVisitCountsDataOnSynchronizationQueue;
@property(readonly, nonatomic) NSData *dailyVisitCountsDataOnSynchronizationQueue;
- (void)clearVisitsPendingWriteToDataStoreFromSynchronizationQueue;
@property(readonly, nonatomic) NSSet *visitsPendingWriteToDataStoreOnSynchronizationQueue;
- (void)removeVisitsOnSynchronizationQueue:(id)arg1 candidateLastVisit:(id)arg2;
- (void)removeVisits:(id)arg1 candidateLastVisit:(id)arg2;
- (void)wasRedirectedFrom:(id)arg1 to:(id)arg2;
- (void)_addExistingVisit:(id)arg1;
- (void)_addVisit:(id)arg1;
- (void)_wasVisitedOnSynchronizationQueue:(id)arg1;
- (void)wasVisited:(id)arg1;
- (void)mergeDataFromItem:(id)arg1;
- (_Bool)_addAutocompleteTriggerFromSynchronizationQueue:(id)arg1;
- (_Bool)addAutocompleteTrigger:(id)arg1;
- (id)_autocompleteTriggersFromSynchronizationQueue;
@property(readonly, nonatomic) NSArray *autocompleteTriggers;
- (void)_collapseDailyVisitsToWeekly;
- (void)_padDailyCountsForNewVisitAtTime:(double)arg1;
@property(readonly, nonatomic) WBSHistoryItem *endOfLastVisitRedirectChain;
@property(readonly, nonatomic) WBSHistoryItem *lastVisitRedirectDestinationItem;
- (void)addRedirectSourceItemFromSynchronizationQueue:(id)arg1;
@property(readonly, nonatomic) NSArray *redirectSourceItems;
@property(readonly, nonatomic) NSString *stringForUserTypedDomainExpansionOnSynchronizationQueue;
@property(readonly, nonatomic) NSString *stringForUserTypedDomainExpansion;
@property(readonly, nonatomic) _Bool lastVisitWasHTTPNonGet;
@property(nonatomic) _Bool lastVisitWasFailure;
@property(readonly, nonatomic) const int *weeklyVisitCountsPtrOnSynchronizationQueue;
@property(readonly, nonatomic) unsigned long long weeklyVisitCountsCountOnSynchronizationQueue;
@property(readonly, nonatomic) const int *dailyVisitCountsPtrOnSynchronizationQueue;
@property(readonly, nonatomic) unsigned long long dailyVisitCountsCountOnSynchronizationQueue;
@property(readonly, nonatomic) unsigned long long visitCount;
@property(readonly, nonatomic) NSDate *lastVisitedDate;
@property(readonly, nonatomic) double lastVisitedTimeInterval;
@property(readonly, nonatomic) WBSHistoryVisit *lastVisitOnSynchronizationQueue;
@property(readonly, nonatomic) WBSHistoryVisit *lastVisit;
@property(readonly, nonatomic) NSString *simplifiedUserVisibleURLString;
@property(readonly, nonatomic) NSString *userVisibleURLString; // @synthesize userVisibleURLString=_userVisibleURLString;
- (id)_urlOnSynchronizationQueue;
@property(readonly, nonatomic) NSURL *url; // @synthesize url=_url;
@property(readonly, nonatomic) NSString *urlStringOnSynchronizationQueue;
@property(readonly, nonatomic) NSString *urlString;
@property(copy, nonatomic) NSString *title;
- (id)initWithSQLiteRow:(id)arg1;
- (id)initWithURLString:(id)arg1;
- (id)initWithDictionaryRepresentation:(id)arg1;

@end

@interface WBSHistoryPropertyListLoader : NSObject <WBSHistoryLoader>
{
    NSURL *_url;
    unsigned long long _itemCountLimit;
    double _ageLimit;
    Class _historyItemClass;
    NSObject<OS_dispatch_queue> *_loadingQueue;
    _Bool _loadInProgress;
    NSMutableArray *_loadedItems;
    NSMutableArray *_loadedDiscardedItems;
    NSCountedSet *_loadedStringsForUserTypedDomainExpansion;
    id <WBSHistoryLoaderDelegate> _delegate;
}

@property(nonatomic) __weak id <WBSHistoryLoaderDelegate> delegate; // @synthesize delegate=_delegate;
- (void).cxx_destruct;
- (void)_finishLoadingOnMainThread;
- (void)_finishLoadingOnMainThreadIfNeeded;
- (_Bool)_loadHistoryFromDictionary:(id)arg1;
- (void)_loadHistory;
- (void)waitForLoadingToComplete;
- (void)startLoading;
- (id)initWithURL:(id)arg1 itemCountLimit:(unsigned long long)arg2 ageLimit:(double)arg3 historyItemClass:(Class)arg4;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBSHistorySQLiteStore : NSObject <WBSHistoryLoaderDelegate, WBSHistoryLoader>
{
    NSURL *_databaseURL;
    unsigned long long _itemCountLimit;
    double _ageLimit;
    Class _historyItemClass;
    NSObject<OS_dispatch_queue> *_databaseQueue;
    NSMutableDictionary *_statements;
    NSMutableDictionary *_itemsByDatabaseID;
    NSMapTable *_weakVisitsByDatabaseID;
    NSMutableSet *_pendingAddsOrUpdates;
    NSMutableSet *_pendingDeletes;
    NSMutableSet *_pendingVisitDeletes;
    NSMutableSet *_pendingTombstones;
    _Bool _commitGenerationValuesOnNextWrite;
    long long _currentGeneration;
    long long _lastSyncedGeneration;
    NSData *_pushThrottlerData;
    int _databaseLockingPolicy;
    _Bool _loadInProgress;
    NSArray *_loadedItems;
    NSArray *_discardedItems;
    NSCountedSet *_loadedStringsForUserTypedDomainExpansion;
    int _importState;
    NSTimer *_writeTimer;
    struct unique_ptr<SafariShared::SuddenTerminationDisabler, std::__1::default_delete<SafariShared::SuddenTerminationDisabler>> _suddenTerminationDisabler;
    _Bool _isClosed;
    NSDate *_lastMaintenanceDate;
    _Bool _writeLastMaintenanceDateOnNextWrite;
    WBSBackgroundActivityScheduler *_maintenanceScheduler;
    id <WBSHistoryStoreDelegate> _delegate;
    WBSSQLiteDatabase *_database;
}

@property(readonly, nonatomic) WBSSQLiteDatabase *database; // @synthesize database=_database;
@property(nonatomic) __weak id <WBSHistoryStoreDelegate> delegate; // @synthesize delegate=_delegate;
- (id).cxx_construct;
- (void).cxx_destruct;
- (id)_currentDate;
- (id)_visitsOrderedForInsertion:(id)arg1;
- (id)_itemsOrderedForInsertion:(id)arg1;
- (id)debugDictionaryRepresentation;
- (void)historyLoaderDidFinishLoading:(id)arg1;
- (void)historyLoader:(id)arg1 didLoadItems:(id)arg2 discardedItems:(id)arg3 stringsForUserTypeDomainExpansion:(id)arg4;
- (void)_expireOldVisits;
- (void)_recomputeDerivedVisitCounts;
- (void)_performMaintenance;
- (void)_rescheduleMaintenance;
- (void)_scheduleMaintenance;
- (id)_statementForQuery:(id)arg1;
- (int)_migrateToSchemaVersion_6;
- (int)_migrateToSchemaVersion_5;
- (int)_migrateToSchemaVersion_4;
- (int)_migrateToSchemaVersion_3;
- (int)_migrateToSchemaVersion_2;
- (int)_migrateToSchemaVersion:(int)arg1;
- (int)_setDatabaseSchemaVersion:(int)arg1;
- (int)_migrateToCurrentSchemaVersionIfNeeded;
- (void)_removeVisitsProvidedByBlockInvokedOnDatabaseQueue:(CDUnknownBlockType)arg1 addingTombstone:(id)arg2 completionHandler:(CDUnknownBlockType)arg3;
- (id)_visitsCreatedMatchingURLString:(id)arg1 afterDate:(id)arg2 beforeDate:(id)arg3;
- (id)_visitsCreatedAfterDate:(id)arg1 beforeDate:(id)arg2;
- (id)_visitsFromRows:(id)arg1 predicate:(CDUnknownBlockType)arg2;
- (void)_setMetadataDataValue:(id)arg1 forKey:(id)arg2;
- (id)_metadataDataValueForKey:(id)arg1;
- (void)_setMetadataInt64Value:(long long)arg1 forKey:(id)arg2;
- (long long)_metadataInt64ValueForKey:(id)arg1;
- (id)_visitsWithOrigins:(id)arg1;
- (id)visitForRow:(id)arg1;
- (id)visitForItem:(id)arg1 row:(id)arg2;
- (id)existingItemFromVisitRow:(id)arg1;
- (void)_pruneTombstones;
- (void)_insertTombstone:(id)arg1;
- (int)_setOrigin:(long long)arg1 forVisitsFromOrigin:(long long)arg2;
- (void)_updateVisitRedirectRelationships:(id)arg1;
- (void)_updateVisit:(id)arg1;
- (void)_updateItem:(id)arg1;
- (void)_insertVisit:(id)arg1;
- (void)_insertItem:(id)arg1;
- (void)_processPendingVisitDeletes;
- (void)_processPendingDeletes;
- (void)addOrUpdateItemsOnDatabaseQueue:(id)arg1;
- (void)removeItemsOnDatabaseQueue:(id)arg1;
- (id)_deletionPlanForDeletionOfVisits:(id)arg1;
- (void)_processPendingWrites;
- (void)_writeTimerFired;
- (void)_scheduleWrite;
- (void)_loadRedirectVisitsForLoadedItems:(id)arg1;
- (void)_loadFromDatabase;
- (void)_openDatabase:(id)arg1 andCheckIntegrity:(_Bool)arg2;
- (_Bool)_checkDatabaseIntegrity;
- (_Bool)_shouldMigrateFromPropertyListWhenLoadingDatabase:(id)arg1;
- (void)_finishLoadingOnMainThread;
- (void)_finishLoadingOnMainThreadIfNeeded;
- (void)_loadHistory;
- (void)_setLastSyncedGeneration:(unsigned long long)arg1;
- (long long)_lastSyncedGeneration;
- (void)_incrementCurrentGeneration;
- (long long)_currentGeneration;
- (void)replayAndAddTombstone:(id)arg1;
- (void)getAllTombstonesWithCompletion:(CDUnknownBlockType)arg1;
- (void)setPushThrottlerData:(id)arg1;
- (id)pushThrottlerData;
- (void)setServerChangeTokenData:(id)arg1;
- (void)getServerChangeTokenDataWithCompletion:(CDUnknownBlockType)arg1;
- (void)visitIdentifiersMatchingExistingVisits:(id)arg1 populateAssociatedVisits:(_Bool)arg2 completion:(CDUnknownBlockType)arg3;
- (id)_tombstonesNeedingSync;
- (id)_visitsNeedingSync;
- (void)getVisitsAndTombstonesNeedingSyncWithCompletion:(CDUnknownBlockType)arg1;
- (void)_clearHistoryVisitsMatchingURLString:(id)arg1 afterDate:(id)arg2 beforeDate:(id)arg3 addingTombstone:(id)arg4 completionHandler:(CDUnknownBlockType)arg5;
- (void)_clearHistoryVisitsAddedAfterDate:(id)arg1 beforeDate:(id)arg2 addingTombstone:(id)arg3 completionHandler:(CDUnknownBlockType)arg4;
- (void)clearHistoryWithCompletionHandler:(CDUnknownBlockType)arg1;
- (void)removePastHistoryVisitsForItem:(id)arg1 completionHandler:(CDUnknownBlockType)arg2;
- (void)clearHistoryVisitsAddedAfterDate:(id)arg1 beforeDate:(id)arg2 completionHandler:(CDUnknownBlockType)arg3;
- (void)_updateGenerationForVisits:(id)arg1;
- (void)visitsWereModified:(id)arg1;
- (void)visitsWereAdded:(id)arg1;
- (void)itemWasReplaced:(id)arg1 byItem:(id)arg2;
- (void)itemsWereModified:(id)arg1;
- (void)itemsWereAdded:(id)arg1;
- (void)savePendingChangesWithCompletionHandler:(CDUnknownBlockType)arg1;
- (void)waitForLoadingToComplete;
- (void)startLoading;
- (void)close;
- (void)dealloc;
- (id)initWithURL:(id)arg1 itemCountLimit:(unsigned long long)arg2 ageLimit:(double)arg3 historyItemClass:(Class)arg4;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBSHistorySession : NSObject
{
    NSDate *_startDate;
}

+ (id)currentSession;
@property(readonly, nonatomic) NSDate *startDate; // @synthesize startDate=_startDate;
- (void).cxx_destruct;
- (unsigned long long)hash;
- (_Bool)isEqual:(id)arg1;
@property(readonly, nonatomic) _Bool isCurrentSession;
- (id)initWithSessionStartDate:(id)arg1;

@end

@interface WBSHistorySessionController : NSObject
{
    NSObject<OS_dispatch_queue> *_sessionCacheAccessQueue;
    NSMutableDictionary *_itemsBySession;
    NSArray *_orderedSessions;
    WBSHistorySessionIntervalCache *_intervalCache;
}

+ (id)sharedSessionController;
- (void).cxx_destruct;
- (void)_timeZoneDidChange:(id)arg1;
- (void)_historyItemsWereRemoved:(id)arg1;
- (void)_historyItemsWereAdded:(id)arg1;
- (void)_dispatchHistorySessionsDidChangeNotification;
- (void)_loadSessionCache;
- (void)_clearSessionCache;
- (void)_removeItemFromSessionCache:(id)arg1;
- (void)_addItemToSessionCache:(id)arg1;
- (void)_insertItem:(id)arg1 withSessionKey:(id)arg2;
- (_Bool)_getKey:(id *)arg1 forDate:(double)arg2;
- (id)_orderedSessionKeys;
- (id)sessionForItem:(id)arg1;
- (id)orderedSessions;
- (id)itemsLastVisitedInSession:(id)arg1;
- (unsigned long long)numberOfItemsVisitedInSession:(id)arg1;
- (unsigned long long)numberOfSessions;
- (id)itemLastVisitedInSession:(id)arg1 atIndex:(unsigned long long)arg2;
- (void)enumerateOrderedItemsLastVisitedInSession:(id)arg1 usingBlock:(CDUnknownBlockType)arg2;
- (void)dealloc;
- (id)init;

@end

@interface WBSHistorySessionIntervalCache : NSObject
{
    NSObject<OS_dispatch_queue> *_queue;
    NSCalendar *_calendar;
    Vector_4bee0f08 _intervalCache;
}

- (id).cxx_construct;
- (void).cxx_destruct;
- (void)_getSessionIntervalForTime:(double)arg1 beginningOfDay:(double *)arg2 beginningOfNextDay:(double *)arg3;
- (double)_beginningOfSessionContainingTime:(double)arg1;
- (double)beginningOfSessionContainingTime:(double)arg1;
- (id)initWithCalendar:(id)arg1;
- (id)init;

@end

@interface WBSHistoryTombstone : NSObject
{
    NSString *_urlString;
    double _startTime;
    double _endTime;
    long long _generation;
}

@property(readonly, nonatomic) long long generation; // @synthesize generation=_generation;
@property(readonly, nonatomic) double endTime; // @synthesize endTime=_endTime;
@property(readonly, nonatomic) double startTime; // @synthesize startTime=_startTime;
@property(readonly, nonatomic) NSString *urlString; // @synthesize urlString=_urlString;
- (void).cxx_destruct;
- (id)description;
- (_Bool)matchesVisitTime:(double)arg1 urlString:(id)arg2;
@property(readonly, nonatomic) NSDictionary *dictionaryRepresentation;
- (id)initWithDictionary:(id)arg1;
- (id)initWithSQLiteRow:(id)arg1;
- (id)initWithURLString:(id)arg1 startTime:(double)arg2 endTime:(double)arg3 generation:(long long)arg4;

@end

@interface WBSHistoryVisit : NSObject
{
    _Bool _loadSuccessful;
    _Bool _httpNonGet;
    _Bool _synthesized;
    long long _databaseID;
    long long _redirectSourceDatabaseID;
    long long _redirectDestinationDatabaseID;
    long long _generation;
    WBSHistoryItem *_item;
    long long _origin;
    double _visitTime;
    NSString *_title;
    WBSHistoryVisit *_redirectSource;
    WBSHistoryVisit *_redirectDestination;
}

+ (id)synthesizedVisitWithHistoryItem:(id)arg1 visitTime:(double)arg2;
@property(retain, nonatomic) WBSHistoryVisit *redirectDestination; // @synthesize redirectDestination=_redirectDestination;
@property(retain, nonatomic) WBSHistoryVisit *redirectSource; // @synthesize redirectSource=_redirectSource;
@property(readonly, nonatomic, getter=isSynthesized) _Bool synthesized; // @synthesize synthesized=_synthesized;
@property(readonly, nonatomic, getter=wasHTTPNonGet) _Bool httpNonGet; // @synthesize httpNonGet=_httpNonGet;
@property(nonatomic, getter=loadWasSuccessful) _Bool loadSuccessful; // @synthesize loadSuccessful=_loadSuccessful;
@property(copy, nonatomic) NSString *title; // @synthesize title=_title;
@property(readonly, nonatomic) double visitTime; // @synthesize visitTime=_visitTime;
@property(nonatomic) long long origin; // @synthesize origin=_origin;
@property(nonatomic) __weak WBSHistoryItem *item; // @synthesize item=_item;
@property(nonatomic) long long generation; // @synthesize generation=_generation;
@property(nonatomic) long long redirectDestinationDatabaseID; // @synthesize redirectDestinationDatabaseID=_redirectDestinationDatabaseID;
@property(nonatomic) long long redirectSourceDatabaseID; // @synthesize redirectSourceDatabaseID=_redirectSourceDatabaseID;
@property(nonatomic) long long databaseID; // @synthesize databaseID=_databaseID;
- (void).cxx_destruct;
@property(readonly, nonatomic) unsigned long long redirectSourceChainLength;
@property(readonly, nonatomic) WBSHistoryVisit *endOfRedirectChain;
- (id)initWithHistoryItem:(id)arg1 sqliteRow:(id)arg2 baseColumnIndex:(unsigned long long)arg3;
- (id)initWithHistoryItem:(id)arg1 sqliteRow:(id)arg2;
- (id)initWithHistoryItem:(id)arg1 visitTime:(double)arg2;
- (id)initWithHistoryItem:(id)arg1 visitTime:(double)arg2 loadWasSuccesful:(_Bool)arg3 wasHTTPNonGet:(_Bool)arg4 origin:(long long)arg5;

@end

@interface WBSImageUtilities : NSObject
{
}

+ (id)squareThumbnailImageFromImage:(id)arg1 thumbnailWidthInPixels:(double)arg2;

@end

@interface WBSOpenSearchDescription : NSObject
{
    NSString *_descriptionDocumentURLString;
    NSString *_searchURLTemplateString;
    NSString *_urlTemplateStringForSuggestionsInJSON;
    NSString *_urlTemplateStringForSuggestionsInXML;
}

@property(readonly, nonatomic) NSString *urlTemplateStringForSuggestionsInXML; // @synthesize urlTemplateStringForSuggestionsInXML=_urlTemplateStringForSuggestionsInXML;
@property(readonly, nonatomic) NSString *urlTemplateStringForSuggestionsInJSON; // @synthesize urlTemplateStringForSuggestionsInJSON=_urlTemplateStringForSuggestionsInJSON;
@property(readonly, nonatomic) NSString *searchURLTemplateString; // @synthesize searchURLTemplateString=_searchURLTemplateString;
@property(readonly, nonatomic) NSString *descriptionDocumentURLString; // @synthesize descriptionDocumentURLString=_descriptionDocumentURLString;
- (void).cxx_destruct;
- (unsigned long long)hash;
- (_Bool)isEqual:(id)arg1;
- (id)dictionaryRepresentation;
- (id)initWithDictionaryRepresentation:(id)arg1;
- (id)initWithDescriptionDocumentURLString:(id)arg1 searchURLTemplateString:(id)arg2 urlTemplateStringForSuggestionsInJSON:(id)arg3 urlTemplateStringForSuggestionsInXML:(id)arg4;

@end

@interface WBSOpenSearchSchemaFetcher : NSObject
{
    NSMutableSet *_openSearchDescriptionURLs;
}

+ (id)sharedFetcher;
- (void).cxx_destruct;
- (void)_didFinishFetchingOpenSearchDescriptionDocumentWithURL:(id)arg1;
- (void)fetchOpenSearchDescriptionWithURL:(id)arg1;

@end

@interface WBSParsecImageRepresentation : NSObject
{
    NSString *_dataString;
    NSString *_identifier;
    UIImage *_image;
    _Bool _template;
}

- (void).cxx_destruct;
- (id)imageWithSession:(id)arg1;
- (id)initWithDictionary:(id)arg1;

@end

@interface WBSParsecSearchClient : NSObject <CLLocationManagerDelegate>
{
    NSURLSessionConfiguration *_urlSessionConfiguration;
    NSTimer *_updateTimer;
    NSString *_customFlight;
    NSString *_userAgent;
    _Bool _usesLedBelly;
    NSURLSessionTask *_bagFetchTask;
    NSMutableDictionary *_bagImageData;
    NSMutableDictionary *_bagImages;
    NSURL *_userGUIDURL;
    NSURL *_userGUIDFallbackURL;
    NSString *_userGUID;
    NSTimer *_userGUIDExpirationTimer;
    _Bool _userGUIDEnabled;
    CLLocationManager *_locationManager;
    NSArray *_supportedGeolocationServices;
    NSArray *_recentlyUsedAppIdentifierWhitelist;
    NSString *_recentlyUsedAppIdentifierListString;
    NSString *_storeFrontIdentifier;
    int ipChangeNotificationToken;
    NSString *_deviceIP;
    NSThread *_locationThread;
    _Bool _updatingLocation;
    _Bool _enabled;
    _Bool _safeModeEnabled;
    _Bool _feedbackEnabled;
    NSString *_applicationNameForUserAgent;
    NSArray *_supportedDomainIdentifiers;
    id <WBSParsecSearchClientStorage> _storage;
    NSNumber *_searchRenderTimeout;
    NSNumber *_otherRenderTimeout;
    CLLocation *_location;
    NSArray *_enabledDomains;
    NSString *_firstUseDescriptionText;
    NSString *_firstUseLearnMoreText;
    NSString *_firstUseLearnMoreURLString;
    double _minimumIntervalBetweenQueriesFromBag;
    NSURL *_searchURL;
    NSURL *_searchFallbackURL;
    NSURL *_feedbackURL;
    NSURL *_feedbackFallbackURL;
    NSArray *_optionalQueryItems;
    unsigned long long _minimumQueryLength;
    unsigned long long _maximumCachedResultsToSend;
    unsigned long long _maximumCachedQueriesToSend;
}

@property(readonly, nonatomic) NSURLSessionConfiguration *urlSessionConfiguration; // @synthesize urlSessionConfiguration=_urlSessionConfiguration;
@property(readonly, nonatomic) _Bool feedbackEnabled; // @synthesize feedbackEnabled=_feedbackEnabled;
@property(readonly, nonatomic) unsigned long long maximumCachedQueriesToSend; // @synthesize maximumCachedQueriesToSend=_maximumCachedQueriesToSend;
@property(readonly, nonatomic) unsigned long long maximumCachedResultsToSend; // @synthesize maximumCachedResultsToSend=_maximumCachedResultsToSend;
@property(readonly, nonatomic) unsigned long long minimumQueryLength; // @synthesize minimumQueryLength=_minimumQueryLength;
@property(readonly, nonatomic) NSArray *optionalQueryItems; // @synthesize optionalQueryItems=_optionalQueryItems;
@property(readonly, nonatomic) NSURL *feedbackFallbackURL; // @synthesize feedbackFallbackURL=_feedbackFallbackURL;
@property(readonly, nonatomic) NSURL *feedbackURL; // @synthesize feedbackURL=_feedbackURL;
@property(readonly, nonatomic) NSURL *searchFallbackURL; // @synthesize searchFallbackURL=_searchFallbackURL;
@property(readonly, nonatomic) NSURL *searchURL; // @synthesize searchURL=_searchURL;
@property(readonly, nonatomic) double minimumIntervalBetweenQueriesFromBag; // @synthesize minimumIntervalBetweenQueriesFromBag=_minimumIntervalBetweenQueriesFromBag;
@property(readonly, nonatomic) NSString *firstUseLearnMoreURLString; // @synthesize firstUseLearnMoreURLString=_firstUseLearnMoreURLString;
@property(readonly, nonatomic) NSString *firstUseLearnMoreText; // @synthesize firstUseLearnMoreText=_firstUseLearnMoreText;
@property(readonly, nonatomic) NSString *firstUseDescriptionText; // @synthesize firstUseDescriptionText=_firstUseDescriptionText;
@property(readonly, nonatomic) NSArray *enabledDomains; // @synthesize enabledDomains=_enabledDomains;
@property(readonly, nonatomic) CLLocation *location; // @synthesize location=_location;
@property(readonly, nonatomic) NSNumber *otherRenderTimeout; // @synthesize otherRenderTimeout=_otherRenderTimeout;
@property(readonly, nonatomic) NSNumber *searchRenderTimeout; // @synthesize searchRenderTimeout=_searchRenderTimeout;
@property(nonatomic) _Bool safeModeEnabled; // @synthesize safeModeEnabled=_safeModeEnabled;
@property(readonly, nonatomic) id <WBSParsecSearchClientStorage> storage; // @synthesize storage=_storage;
@property(copy, nonatomic) NSArray *supportedDomainIdentifiers; // @synthesize supportedDomainIdentifiers=_supportedDomainIdentifiers;
@property(readonly, nonatomic, getter=isEnabled) _Bool enabled; // @synthesize enabled=_enabled;
@property(readonly, nonatomic) NSString *applicationNameForUserAgent; // @synthesize applicationNameForUserAgent=_applicationNameForUserAgent;
- (void).cxx_destruct;
- (void)_setDeviceIP:(id)arg1;
- (void)_requestDeviceIP;
- (void)_locationThread;
- (void)_performBlock:(CDUnknownBlockType)arg1;
- (void)_performBlockOnLocationThread:(CDUnknownBlockType)arg1 wait:(_Bool)arg2;
- (void)_performBlockOnLocationThreadAndWait:(CDUnknownBlockType)arg1;
- (void)_performBlockOnLocationThread:(CDUnknownBlockType)arg1;
- (void)locationManager:(id)arg1 didChangeAuthorizationStatus:(int)arg2;
- (void)locationManager:(id)arg1 didUpdateLocations:(id)arg2;
- (_Bool)_hasLocationServicesEffectiveBundleEntitlement;
- (void)_storeFrontIdentifierDidChange:(id)arg1;
- (void)_updateStoreFrontIdentifier;
- (void)updateRecentlyUsedAppIdentifiers;
- (id)_locationSourceForLocation:(id)arg1;
- (void)_updateOptionalQueryItems;
@property(readonly, nonatomic) NSURLQueryItem *secretKeyQueryItem;
- (id)_customFlightQueryItem;
- (id)_localeQueryItem;
- (void)_currentLocaleDidChange:(id)arg1;
- (void)_userGUIDExpirationTimerDidFire:(id)arg1;
- (void)_setUserGUID:(id)arg1 expirationDate:(id)arg2;
- (void)_updateUserGUIDExpirationTimerWithDate:(id)arg1;
- (void)_fetchUserGUIDIfNeeded;
- (void)_generateBagImagesFromDictionary:(id)arg1;
- (void)_fetchConfiguration;
- (id)locationSource;
- (void)stopUpdatingLocation;
- (void)startUpdatingLocation;
- (void)resetUserGUID;
- (id)imageForIdentifier:(id)arg1 withScale:(double)arg2;
- (void)updateURLSessionConfiguration;
- (void)invalidate;
- (id)initWithStorage:(id)arg1 applicationNameForUserAgent:(id)arg2;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBSParsecSearchCompletionResultSet : NSObject
{
    long long _status;
    NSString *_errorCodeString;
    NSString *_completionString;
    NSString *_prefix;
    NSString *_feedbackQueryIdentifier;
    NSArray *_results;
    double _maxAge;
    double _completionScore;
}

+ (id)resultSetWithDictionary:(id)arg1 cache:(id)arg2;
@property(readonly, nonatomic) double completionScore; // @synthesize completionScore=_completionScore;
@property(readonly, nonatomic) double maxAge; // @synthesize maxAge=_maxAge;
@property(readonly, nonatomic) NSArray *results; // @synthesize results=_results;
@property(readonly, nonatomic) NSString *feedbackQueryIdentifier; // @synthesize feedbackQueryIdentifier=_feedbackQueryIdentifier;
@property(readonly, nonatomic) NSString *prefix; // @synthesize prefix=_prefix;
@property(readonly, nonatomic) NSString *completionString; // @synthesize completionString=_completionString;
@property(readonly, nonatomic) NSString *errorCodeString; // @synthesize errorCodeString=_errorCodeString;
@property(readonly, nonatomic) long long status; // @synthesize status=_status;
- (void).cxx_destruct;
- (id)_initWithDictionary:(id)arg1 cache:(id)arg2;

@end

@interface WBSParsecSearchResult : NSObject <WBSCompletionListItem>
{
    WBSParsecImageRepresentation *_icon;
    WBSParsecImageRepresentation *_completionIcon;
    NSURL *_reportProblemURL;
    NSString *_title;
    NSString *_descriptionText;
    NSString *_identifier;
    NSString *_feedbackIdentifier;
    NSString *_urlString;
    NSString *_sectionHeader;
    NSNumber *_iTunesItemIdentifier;
    NSString *_completion;
    unsigned long long _type;
    unsigned long long _minimumRankOfTopHitToSuppressResult;
    NSArray *_supportedStyleOverrides;
    NSDictionary *_styleOverrides;
}

+ (id)resultWithDictionary:(id)arg1 cache:(id)arg2;
+ (Class)replacementClass;
+ (void)setReplacementClass:(Class)arg1;
+ (id)allocWithZone:(struct _NSZone *)arg1;
@property(readonly, nonatomic) NSDictionary *styleOverrides; // @synthesize styleOverrides=_styleOverrides;
@property(readonly, nonatomic) NSArray *supportedStyleOverrides; // @synthesize supportedStyleOverrides=_supportedStyleOverrides;
@property(readonly, nonatomic) unsigned long long minimumRankOfTopHitToSuppressResult; // @synthesize minimumRankOfTopHitToSuppressResult=_minimumRankOfTopHitToSuppressResult;
@property(readonly, nonatomic) unsigned long long type; // @synthesize type=_type;
@property(readonly, nonatomic) NSString *completion; // @synthesize completion=_completion;
@property(readonly, nonatomic) NSNumber *iTunesItemIdentifier; // @synthesize iTunesItemIdentifier=_iTunesItemIdentifier;
@property(readonly, nonatomic) NSString *sectionHeader; // @synthesize sectionHeader=_sectionHeader;
@property(readonly, nonatomic) NSString *urlString; // @synthesize urlString=_urlString;
@property(readonly, nonatomic) NSString *feedbackIdentifier; // @synthesize feedbackIdentifier=_feedbackIdentifier;
@property(readonly, nonatomic) NSString *identifier; // @synthesize identifier=_identifier;
@property(readonly, nonatomic) NSString *descriptionText; // @synthesize descriptionText=_descriptionText;
@property(readonly, nonatomic) NSString *title; // @synthesize title=_title;
- (void).cxx_destruct;
- (void)_setStyleOverridesWithDictionary:(id)arg1;
- (unsigned long long)_constructTypeMaskForTypeString:(id)arg1;
- (id)_glyphsFromGlyphRepresentations:(id)arg1 withSession:(id)arg2;
- (id)_glyphRepresentationsFromGlyphDictionaries:(id)arg1;
- (id)completionIconWithSession:(id)arg1;
- (id)iconWithSession:(id)arg1;
@property(readonly, nonatomic) NSString *parsecDomainIdentifier;
@property(readonly, nonatomic) NSURL *reportProblemURL;
- (id)initWithDictionary:(id)arg1;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBSParsecSearchITunesResult : WBSParsecSearchResult
{
    NSArray *_moreGlyphsOnFirstLineRepresentations;
    NSArray *_moreGlyphsOnSecondLineRepresentations;
    NSArray *_moreGlyphsRepresentations;
    WBSParsecImageRepresentation *_rottenTomatoesGlyph;
    _Bool _rottenTomatoesInformationOnSecondLine;
    double _rating;
    NSString *_ratingText;
    NSString *_rottenTomatoesText;
    NSString *_descriptionFirstLine;
    NSString *_descriptionSecondLine;
}

@property(readonly, nonatomic) NSString *descriptionSecondLine; // @synthesize descriptionSecondLine=_descriptionSecondLine;
@property(readonly, nonatomic) NSString *descriptionFirstLine; // @synthesize descriptionFirstLine=_descriptionFirstLine;
@property(readonly, nonatomic) _Bool rottenTomatoesInformationOnSecondLine; // @synthesize rottenTomatoesInformationOnSecondLine=_rottenTomatoesInformationOnSecondLine;
@property(readonly, nonatomic) NSString *rottenTomatoesText; // @synthesize rottenTomatoesText=_rottenTomatoesText;
@property(readonly, nonatomic) NSString *ratingText; // @synthesize ratingText=_ratingText;
@property(readonly, nonatomic) double rating; // @synthesize rating=_rating;
- (void).cxx_destruct;
- (id)rottenTomatoesGlyphWithSession:(id)arg1;
- (id)moreGlyphsOnSecondLineWithSession:(id)arg1;
- (id)moreGlyphsOnFirstLineWithSession:(id)arg1;
- (id)moreGlyphsWithSession:(id)arg1;
- (id)initWithDictionary:(id)arg1;

@end

@interface WBSParsecSearchMapsResult : WBSParsecSearchResult
{
    MKMapItem *_mapItem;
    NSString *_mapsDataType;
    NSData *_mapsData;
    NSArray *_additionalMapItems;
    NSString *_mapsResultType;
    WBSParsecSearchMapsResultExtraCompletionItem *_extraCompletionItem;
}

@property(readonly, nonatomic) WBSParsecSearchMapsResultExtraCompletionItem *extraCompletionItem; // @synthesize extraCompletionItem=_extraCompletionItem;
@property(readonly, nonatomic) NSString *mapsResultType; // @synthesize mapsResultType=_mapsResultType;
@property(readonly, nonatomic) NSArray *additionalMapItems; // @synthesize additionalMapItems=_additionalMapItems;
@property(readonly, nonatomic) MKMapItem *mapItem; // @synthesize mapItem=_mapItem;
@property(readonly, nonatomic) NSData *mapsData; // @synthesize mapsData=_mapsData;
- (void).cxx_destruct;
- (id)initWithDictionary:(id)arg1;

@end

@interface WBSParsecSearchMapsResultExtraCompletionItem : NSObject <WBSCompletionListItem>
{
    WBSParsecImageRepresentation *_icon;
    WBSParsecSearchMapsResult *_mapsResult;
    NSString *_title;
    NSURL *_url;
}

@property(readonly, nonatomic) NSURL *url; // @synthesize url=_url;
@property(readonly, nonatomic) NSString *title; // @synthesize title=_title;
- (void).cxx_destruct;
@property(readonly, nonatomic) NSString *feedbackIdentifier;
@property(readonly, nonatomic) NSString *parsecDomainIdentifier;
- (id)iconWithSession:(id)arg1;
- (id)initWithMapsResult:(id)arg1 text:(id)arg2 url:(id)arg3 icon:(id)arg4;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBSParsecSearchMoviesResult : WBSParsecSearchResult
{
    NSMutableArray *_posterRepresentations;
    NSString *_descriptionLeadInText;
}

@property(readonly, nonatomic) NSString *descriptionLeadInText; // @synthesize descriptionLeadInText=_descriptionLeadInText;
- (void).cxx_destruct;
- (id)postersWithSession:(id)arg1;
- (id)initWithDictionary:(id)arg1;

@end

@interface WBSParsecSearchNewsResult : WBSParsecSearchResult
{
    NSString *_subscript;
}

@property(readonly, nonatomic) NSString *subscript; // @synthesize subscript=_subscript;
- (void).cxx_destruct;
- (id)initWithDictionary:(id)arg1;

@end

@interface WBSParsecSearchResponse : NSObject
{
    WBSParsecSearchCompletionResultSet *_bestResultSet;
    double _maxAge;
    NSArray *_completionResultSets;
}

@property(readonly, nonatomic) NSArray *completionResultSets; // @synthesize completionResultSets=_completionResultSets;
@property(readonly, nonatomic) double maxAge; // @synthesize maxAge=_maxAge;
- (void).cxx_destruct;
@property(readonly, nonatomic) WBSParsecSearchCompletionResultSet *bestCompletionResultSet;
- (id)initWithArray:(id)arg1 responseHeaders:(id)arg2 cache:(id)arg3;

@end

@interface WBSParsecSearchResultCache : NSObject
{
    NSMutableDictionary *_resultSetCache;
    NSMutableDictionary *_resultCache;
    unsigned long long _cachedQueriesLimit;
    unsigned long long _cachedResultsLimit;
}

- (void).cxx_destruct;
@property(readonly, nonatomic) NSArray *allCachedResultIdentifiers;
@property(readonly, nonatomic) NSArray *allCachedQueries;
- (id)resultForIdentifier:(id)arg1;
- (id)resultSetForQuery:(id)arg1;
- (void)cacheResult:(id)arg1;
- (void)cacheResultSet:(id)arg1;
- (id)initWithCachedQueriesLimit:(unsigned long long)arg1 cachedResultsLimit:(unsigned long long)arg2;

@end

@interface WBSParsecSearchSession : NSObject
{
    WBSParsecSearchClient *_client;
    NSURLSession *_urlSession;
    time_point_e708cccf _sessionStartTimestamp;
    NSMutableArray *_feedbackActions;
    time_point_e708cccf _latestQueryTimestamp;
    double _minimumIntervalBetweenQueriesFromResponseHeaders;
    NSMutableDictionary *_resultSetPrefixCache;
    WBSParsecSearchResultCache *_searchResultCache;
    _Bool _hasRespondedToCurrentQuery;
    _Bool _valid;
    id <WBSParsecSearchSessionDelegate> _delegate;
    WBSCompletionQuery *_currentQuery;
    double _uiScale;
}

@property(nonatomic, setter=setUIScale:) double uiScale; // @synthesize uiScale=_uiScale;
@property(readonly, nonatomic) WBSParsecSearchClient *client; // @synthesize client=_client;
@property(readonly, nonatomic, getter=isValid) _Bool valid; // @synthesize valid=_valid;
@property(retain, nonatomic) WBSCompletionQuery *currentQuery; // @synthesize currentQuery=_currentQuery;
@property(nonatomic) __weak id <WBSParsecSearchSessionDelegate> delegate; // @synthesize delegate=_delegate;
- (id).cxx_construct;
- (void).cxx_destruct;
- (double)_timeToFirstByteForDataTask:(id)arg1;
- (void)_addParsecAndSearchSuggestionDeltaForQuery:(id)arg1 toFeedbackDictionary:(id)arg2;
- (void)_processBestResultSetOnMainThread:(id)arg1 forQuery:(id)arg2;
- (void)_processSearchResponseOnMainThread:(id)arg1 forQuery:(id)arg2 timeToFirstByte:(double)arg3;
- (void)_cacheResultsFromSearchResponse:(id)arg1;
- (id)_cachedResultSetForQuery:(id)arg1;
- (void)_cacheResultSet:(id)arg1;
- (void)_generateSearchFeedbackForResponse:(id)arg1 forQuery:(id)arg2 timeToFirstByte:(double)arg3 error:(id)arg4;
- (void)_generateCachedSearchFeedbackForQuery:(id)arg1;
- (void)_searchRequestFailedForQuery:(id)arg1;
- (void)_invalidate;
- (void)_endSession;
- (void)_sendGeneratedFeedback;
- (id)_urlSession;
- (void)_respondToCurrentQueryIfNeededWithResults:(id)arg1;
- (_Bool)_canSendQuery;
- (id)_searchURLForQuery:(id)arg1 baseURL:(id)arg2;
- (id)_searchFallbackURLForQuery:(id)arg1;
- (id)_searchURLForQuery:(id)arg1;
- (id)_searchRequestForQuery:(id)arg1;
- (void)didReceiveLocalResultsForQuery:(id)arg1;
- (void)didReceiveWebSuggestionsForQuery:(id)arg1 fromSearchProvider:(id)arg2;
- (void)userDidCancelSession:(long long)arg1;
- (void)userDidCancelSession;
- (void)userDidSelectCompletionListItem:(id)arg1 hidingParsecResult:(id)arg2;
- (void)userDidSelectCompletionListItem:(id)arg1;
- (void)didDisplayCompletionListItems:(id)arg1 hidingParsecResult:(id)arg2 forQuery:(id)arg3;
- (void)didDisplayCompletionListItems:(id)arg1 forQuery:(id)arg2;
- (unsigned long long)_addFeedbackAction:(id)arg1;
- (void)_sendWarmupRequest;
- (void)dealloc;
- (id)initWithClient:(id)arg1;

@end

@interface WBSParsecSearchSimpleResult : WBSParsecSearchResult
{
    WBSParsecImageRepresentation *_titleGlyph;
    NSArray *_moreIconRepresentations;
    _Bool _descriptionTextCanWrap;
    _Bool _hasSingleLineDescriptionAndTitle;
    NSNumber *_titleMaximumNumberOfLines;
    NSString *_descriptionLeadInText;
    NSNumber *_descriptionMaximumNumberOfLines;
    NSString *_footnote;
}

@property(readonly, nonatomic) _Bool hasSingleLineDescriptionAndTitle; // @synthesize hasSingleLineDescriptionAndTitle=_hasSingleLineDescriptionAndTitle;
@property(readonly, nonatomic) NSString *footnote; // @synthesize footnote=_footnote;
@property(readonly, nonatomic) _Bool descriptionTextCanWrap; // @synthesize descriptionTextCanWrap=_descriptionTextCanWrap;
@property(readonly, nonatomic) NSNumber *descriptionMaximumNumberOfLines; // @synthesize descriptionMaximumNumberOfLines=_descriptionMaximumNumberOfLines;
@property(readonly, nonatomic) NSString *descriptionLeadInText; // @synthesize descriptionLeadInText=_descriptionLeadInText;
@property(readonly, nonatomic) NSNumber *titleMaximumNumberOfLines; // @synthesize titleMaximumNumberOfLines=_titleMaximumNumberOfLines;
- (void).cxx_destruct;
- (id)moreIconsWithSession:(id)arg1;
@property(readonly, nonatomic) _Bool hasMoreIcons;
- (id)titleGlyphWithSession:(id)arg1;
- (id)initWithDictionary:(id)arg1;

@end

@interface WBSParsecSearchTwitterResult : WBSParsecSearchResult
{
    WBSParsecImageRepresentation *_sectionHeaderGlyph;
    NSString *_sectionHeaderSubscript;
}

@property(readonly, nonatomic) NSString *sectionHeaderSubscript; // @synthesize sectionHeaderSubscript=_sectionHeaderSubscript;
- (void).cxx_destruct;
- (id)sectionHeaderGlyphWithSession:(id)arg1;
- (id)initWithDictionary:(id)arg1;

@end

@interface WBSParsecSearchUtilities : NSObject
{
}

+ (_Bool)anyParsecSearchResult:(id)arg1 fuzzyMatchesSuggestedSiteURLString:(id)arg2;

@end

@interface WBSPasswordGeneration : NSObject
{
}

+ (_Bool)passwordGenerationIsDisallowedByRequirements:(id)arg1;
+ (id)protectionSpaceForGeneratedPasswordsInProtectionSpace:(id)arg1;
+ (id)defaultRequirementsForURL:(id)arg1;
+ (id)defaultRequirementsForDomain:(id)arg1;
+ (id)generatedPasswordMatchingRequirements:(id)arg1;
+ (id)updatedRequirements:(id)arg1 respectingMaxLength:(unsigned long long)arg2;

@end

@interface WBSQuickWebsiteSearchController : NSObject
{
    NSObject<OS_dispatch_queue> *_quickWebsiteSearchProvidersBySourcePageURLStringAccessQueue;
    NSMutableDictionary *_quickWebsiteSearchProvidersByHost;
    NSMutableDictionary *_openSearchDescriptionsByDescriptionDocumentURLString;
    NSMutableDictionary *_hostSetsByOpenSearchDescriptionDocumentURLString;
    struct unique_ptr<SafariShared::CoalescedAsynchronousWriter, std::__1::default_delete<SafariShared::CoalescedAsynchronousWriter>> _writer;
    _Bool _quickWebsiteSearchProvidersLoadedFromDisk;
}

+ (id)sharedController;
@property _Bool quickWebsiteSearchProvidersLoadedFromDisk; // @synthesize quickWebsiteSearchProvidersLoadedFromDisk=_quickWebsiteSearchProvidersLoadedFromDisk;
- (id).cxx_construct;
- (void).cxx_destruct;
- (void)_resetCachedDataWithCompletionHandler:(CDUnknownBlockType)arg1;
- (void)_didCollectOpenSearchDescription:(id)arg1;
- (id)_searchDescriptionsURL;
- (void)_didFinishLoadingFromDisk;
- (void)_loadFromDisk;
- (id)_dictionaryRepresentation;
- (void)_saveToDiskSoon;
- (void)_pruneUnusedQuickWebsiteSearchProviders;
- (_Bool)_shouldRemoveQuickWebsiteSearchProvider:(id)arg1;
- (void)_removeHost:(id)arg1 fromOpenSearchDescriptionWithDocumentURL:(id)arg2;
- (void)_addHost:(id)arg1 toOpenSearchDescriptionWithDocumentURL:(id)arg2;
- (_Bool)_quickWebsiteSearchProviderHasSearchURLTemplateStringOnAccessQueue:(id)arg1;
- (void)removeProviderWithHost:(id)arg1;
- (void)removeProvidersWithHosts:(id)arg1;
- (id)openSearchDescriptionForOpenSearchDescriptionURLString:(id)arg1;
- (id)providerForSourcePageURLString:(id)arg1;
- (void)setOpenSearchDescriptionURLString:(id)arg1 forSourcePageURLString:(id)arg2;
- (void)setSearchURLTemplateStringFromForm:(id)arg1 forSourcePageURLString:(id)arg2;
- (void)didPerformSearchWithProvider:(id)arg1;
- (id)providersMatchingQueryString:(id)arg1;
@property(readonly, nonatomic) NSArray *quickWebsiteSearchHosts;
- (void)_sendNotification:(id)arg1 forQuickWebsiteSearchProvider:(id)arg2;
- (void)removeProvidersAddedAfterDate:(id)arg1 beforeDate:(id)arg2;
- (void)clear;
- (void)savePendingChangesBeforeTermination;
- (void)noteProvidersAreStale;
- (void)beginLoadingFromDiskIfNeeded;
- (id)init;

@end

@interface WBSQuickWebsiteSearchProvider : NSObject
{
    NSString *_displayName;
    NSString *_hostname;
    NSString *_sourcePageURLString;
    NSDate *_dateAdded;
    NSString *_searchURLTemplateStringFromForm;
    NSString *_openSearchDescriptionURLString;
    NSDate *_dateOfLastSearch;
}

@property(copy, nonatomic) NSDate *dateOfLastSearch; // @synthesize dateOfLastSearch=_dateOfLastSearch;
@property(copy, nonatomic) NSString *openSearchDescriptionURLString; // @synthesize openSearchDescriptionURLString=_openSearchDescriptionURLString;
@property(copy, nonatomic) NSString *searchURLTemplateStringFromForm; // @synthesize searchURLTemplateStringFromForm=_searchURLTemplateStringFromForm;
@property(readonly, nonatomic) NSDate *dateAdded; // @synthesize dateAdded=_dateAdded;
@property(readonly, nonatomic) NSString *sourcePageURLString; // @synthesize sourcePageURLString=_sourcePageURLString;
- (void).cxx_destruct;
@property(readonly, nonatomic) NSString *hostname;
@property(readonly, nonatomic) NSString *displayName;
- (id)searchURLStringForQueryString:(id)arg1;
- (id)dictionaryRepresentation;
@property(readonly, nonatomic) NSString *urlTemplateStringForSuggestionsInJSON;
@property(readonly, nonatomic) NSString *searchURLTemplateString;
@property(readonly, nonatomic) WBSOpenSearchDescription *openSearchDescription;
- (id)initWithSourcePageURLString:(id)arg1 openSearchDescriptionURLString:(id)arg2;
- (id)initWithSourcePageURLString:(id)arg1 searchURLTemplateStringFromForm:(id)arg2;
- (id)initWithDictionaryRepresentation:(id)arg1;

@end

@interface WBSRecentWebSearchEntry : NSObject
{
    NSString *_searchString;
    NSDate *_date;
}

@property(readonly) NSDate *date; // @synthesize date=_date;
@property(readonly) NSString *searchString; // @synthesize searchString=_searchString;
- (void).cxx_destruct;
- (id)description;
- (id)dictionaryRepresentation;
- (unsigned long long)hash;
- (_Bool)isEqual:(id)arg1;
- (id)init;
- (id)initWithDictionaryRepresentation:(id)arg1;
- (id)initWithSearchString:(id)arg1;
- (id)initWithSearchString:(id)arg1 date:(id)arg2;

@end

@interface WBSRecentWebSearchesController : NSObject
{
    NSMutableArray *_recentSearchEntries;
}

+ (id)_defaultsKey;
+ (unsigned long long)_maximumNumberOfSearchesToTrack;
+ (_Bool)_shouldTrackSearches;
- (void).cxx_destruct;
- (void)_addLegacySearch:(id)arg1;
- (void)_removeLegacyRecentSearchesData;
- (void)_migrateLegacyData;
- (void)_loadRecentSearchesIfNeeded;
- (id)_recentSearchDictionariesFromUserDefaultsUsingKey:(id)arg1;
- (void)_saveRecentSearchDictionaries:(id)arg1 toUserDefaultsUsingKey:(id)arg2;
- (id)_recentSearchesDictionaries;
- (void)_saveRecentSearches;
- (void)_addRecentSearchEntry:(id)arg1;
- (void)clearRecentSearchesAddedAfterDate:(id)arg1;
- (void)clearRecentSearches;
- (id)recentSearchesMatchingPrefix:(id)arg1;
- (id)recentSearches;
- (void)addRecentSearch:(id)arg1;

@end

@interface WBSSQLiteDatabase : NSObject
{
    NSURL *_url;
    struct sqlite3 *_handle;
    NSObject<OS_dispatch_queue> *_queue;
}

@property(readonly, nonatomic) NSObject<OS_dispatch_queue> *queue; // @synthesize queue=_queue;
@property(readonly, nonatomic) struct sqlite3 *handle; // @synthesize handle=_handle;
- (void).cxx_destruct;
- (int)_openWithFlags:(int)arg1;
@property(readonly, nonatomic) long long changedRowCount;
@property(readonly, nonatomic) long long lastInsertRowID;
@property(readonly, nonatomic) NSString *lastErrorMessage;
@property(readonly, nonatomic) int lastErrorCode;
- (id)fetchQuery:(id)arg1;
- (int)executeQuery:(id)arg1;
- (int)close;
- (int)open;
- (void)dealloc;
- (id)initWithURL:(id)arg1 queue:(id)arg2;

@end

@interface WBSSQLiteRow : NSObject
{
    struct sqlite3_stmt *_handle;
}

- (id)debugDictionaryRepresentationWithStatement:(id)arg1;
- (_Bool)_isNullAtIndex:(unsigned long long)arg1;
- (struct RawData)uncopiedRawDataAtIndex:(unsigned long long)arg1;
- (id)uncopiedDataAtIndex:(unsigned long long)arg1;
- (id)dataAtIndex:(unsigned long long)arg1;
- (_Bool)boolAtIndex:(unsigned long long)arg1;
- (double)doubleAtIndex:(unsigned long long)arg1;
- (long long)int64AtIndex:(unsigned long long)arg1;
- (int)intAtIndex:(unsigned long long)arg1;
- (id)stringAtIndex:(unsigned long long)arg1;
- (id)initWithCurrentRowOfEnumerator:(id)arg1;

@end

@interface WBSSQLiteRowEnumerator : NSEnumerator
{
    WBSSQLiteStatement *_statement;
    WBSSQLiteRow *_row;
    int _lastResultCode;
}

@property(readonly, nonatomic) int lastResultCode; // @synthesize lastResultCode=_lastResultCode;
@property(readonly, nonatomic) WBSSQLiteStatement *statement; // @synthesize statement=_statement;
- (void).cxx_destruct;
- (id)nextObject;
- (id)initWithResultsOfStatement:(id)arg1;

@end

@interface WBSSQLiteStatement : NSObject
{
    WBSSQLiteDatabase *_database;
    struct sqlite3_stmt *_handle;
    NSDictionary *_columnNamesToIndexes;
    NSArray *_columnNames;
}

@property(readonly, nonatomic) WBSSQLiteDatabase *database; // @synthesize database=_database;
@property(readonly, nonatomic) struct sqlite3_stmt *handle; // @synthesize handle=_handle;
- (void).cxx_destruct;
- (_Bool)_isValid;
@property(readonly, nonatomic) NSArray *columnNames;
@property(readonly, nonatomic) NSDictionary *columnNamesToIndexes;
- (void)bindNullAtParameterIndex:(unsigned long long)arg1;
- (void)bindData:(id)arg1 atParameterIndex:(unsigned long long)arg2;
- (void)bindDouble:(double)arg1 atParameterIndex:(unsigned long long)arg2;
- (void)bindInt64:(long long)arg1 atParameterIndex:(unsigned long long)arg2;
- (void)bindInt:(int)arg1 atParameterIndex:(unsigned long long)arg2;
- (void)bindString:(id)arg1 atParameterIndex:(unsigned long long)arg2;
- (void)invalidate;
- (void)reset;
- (id)fetch;
- (int)execute;
- (void)dealloc;
- (id)initWithDatabase:(id)arg1 query:(id)arg2;

@end

@interface WBSSearchHelperConnectionManager : NSObject
{
    NSMutableSet *_clients;
    NSXPCConnection *_searchHelperConnection;
}

+ (id)sharedManager;
@property(retain, nonatomic) NSXPCConnection *searchHelperConnection; // @synthesize searchHelperConnection=_searchHelperConnection;
- (void).cxx_destruct;
- (void)removeClient:(id)arg1;
- (id)searchHelperConnectionRequestedByClient:(id)arg1;
- (id)init;

@end

@interface WBSSiteIconKeyColorExtractor : NSObject
{
}

+ (char *)_createRGBAPixelBufferFromImage:(struct CGImage *)arg1;
+ (id)keyColorForIcon:(id)arg1;

@end

@interface WBSTopHitCompletionMatch : WBSBookmarkAndHistoryCompletionMatch
{
}

- (id)parsecDomainIdentifier;
- (_Bool)isTopHit;

@end

@interface WBSURLCompletionDatabase : NSObject
{
    struct unique_ptr<SafariShared::URLCompletionDatabase, std::__1::default_delete<SafariShared::URLCompletionDatabase>> _completionDatabase;
}

- (id).cxx_construct;
- (void).cxx_destruct;
- (id)fakeBookmarkMatchDataWithURLString:(id)arg1 title:(id)arg2;
- (void)enumerateMatchDataForTypedStringHint:(id)arg1 withBlock:(CDUnknownBlockType)arg2;
- (void)clearMatchesCaches;
- (void)clearBookmarkMatchesCaches;
- (void)clearBookmarkMatchesCachesKeepingEmptyValues:(_Bool)arg1;
- (void)getBestMatchesForTypedString:(id)arg1 topHits:(id *)arg2 matches:(id *)arg3 limit:(unsigned long long)arg4;
- (id)init;

@end

@interface WBSURLCompletionUserTypedString : NSObject
{
    NSString *_string;
    const unsigned short *_unichars;
    const char *_chars;
    int _length;
    _Bool _containsAnySpaces;
    _Bool _ownsUnichars;
    _Bool _ownsChars;
}

+ (void)initialize;
@property(readonly, nonatomic) NSString *normalizedString; // @synthesize normalizedString=_string;
- (void).cxx_destruct;
- (void)dealloc;
- (id)initWithString:(id)arg1;

@end

@interface WBSURLSuffixChecker : NSObject
{
    struct {
        unsigned short _field1[27];
    } *_trie;
    unsigned int _trieNodeCount;
    unsigned long long _maxLength;
    NSMutableArray *_failedSuffixes;
}

- (void).cxx_destruct;
- (void)dealloc;
- (_Bool)hasSuffix:(id)arg1;
- (id)initWithSuffixes:(id)arg1;
- (void)addStringToFailedSuffixes:(id)arg1;
- (_Bool)insertString:(id)arg1 intoTrieWithCache:(CDStruct_f2b84ca7 *)arg2;

@end

@interface WBSUserTypedFormString : WBSFormAutoFillItem
{
    NSString *_userTypedString;
}

@property(readonly, nonatomic) NSString *userTypedString; // @synthesize userTypedString=_userTypedString;
- (void).cxx_destruct;
- (id)completion;
- (id)initWithUserTypedString:(id)arg1;

@end

@interface WBUCreditCardCaptureViewController : UINavigationController
{
}

+ (_Bool)canCapture;
- (id)init;

// Remaining properties
@property(nonatomic) __weak id <WBUCreditCardCaptureViewControllerDelegate> delegate;

@end

@interface WBUCreditCardDataController : WBSCreditCardDataController
{
}

+ (id)sharedCreditCardDataController;

@end

@interface WBUFormAutoCompleteState : NSObject <UIActionSheetDelegate, WBUCreditCardCaptureViewControllerDelegate>
{
    CDUnknownBlockType _creditCardCaptureCompletionHandler;
    NSDictionary *_formMetadata;
    NSDictionary *_textFieldMetadata;
    unsigned long long _formType;
    long long _action;
    _Bool _gatheringFormValues;
    NSDictionary *_formValues;
    NSArray *_potentialCredentialMatches;
    _Bool _canAutoComplete;
    NSMutableDictionary *_matchesByCompletion;
    WBUFormDataController *_dataController;
}

+ (_Bool)_shouldSaveCredentialsInProtectionSpace:(id)arg1;
@property(nonatomic) __weak WBUFormDataController *dataController; // @synthesize dataController=_dataController;
- (void).cxx_destruct;
- (void)creditCardCaptureViewController:(id)arg1 didCaptureCreditCard:(id)arg2;
- (void)creditCardCaptureViewControllerDidCancel:(id)arg1;
- (void)_offerToAutoFillFromPotentialCredentialMatches;
- (void)_generateAndSuggestPassword;
- (void)autoFillGeneratedPassword:(id)arg1 inForm:(double)arg2;
- (long long)_passwordGenerationAssistanceAction;
- (_Bool)_passwordGenerationAssistanceAutoFillButtonEnabled;
- (_Bool)_shouldUsePasswordGenerationAssistanceForTextField;
- (void)_autoFillCreditCardData;
- (void)_captureCreditCardDataWithCameraAndFill;
@property(readonly, nonatomic) id <WBUFormAutoFillFrameHandle> frame;
@property(readonly, nonatomic) UIView<WBUFormAutoFillWebView> *webView;
- (void)_autoFillFormWithCreditCardData:(id)arg1;
- (_Bool)_canAutoFillCreditCardData;
- (_Bool)_textFieldLooksLikeCreditCardFormField;
- (id)_matchesForPartialString:(id)arg1;
- (void)_ensureFormMetadata;
- (void)getTextFieldMetadata:(id *)arg1 formMetadata:(id *)arg2;
- (void)acceptedAutoFillWord:(id)arg1;
- (id)suggestionsForString:(id)arg1;
- (_Bool)hasCurrentSuggestions;
@property(readonly, nonatomic) NSString *textFieldValue;
- (void)autoFill;
- (void)_autoFillValues:(id)arg1;
- (void)autoFillValues:(id)arg1 andFocusField:(id)arg2;
- (void)fetchFormMetadataWithCompletion:(CDUnknownBlockType)arg1;
- (long long)_action;
- (id)titleOfAutoFillButton;
- (void)_updateAutoFillButton;
- (void)setAutoFillButtonTitle:(id)arg1;
- (void)_gatherFormValuesWithCompletionHandler:(CDUnknownBlockType)arg1;
- (void)dealloc;
- (void)invalidate;
- (id)initWithFormDataController:(id)arg1;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBUFormAutoCompleteStateWK1 : WBUFormAutoCompleteState
{
    DOMHTMLInputElement *_textField;
    WebFrame *_webFrame;
}

@property(readonly, nonatomic) WebFrame *webFrame; // @synthesize webFrame=_webFrame;
- (void).cxx_destruct;
- (id)frame;
- (id)webView;
- (void)autoFillGeneratedPassword:(id)arg1 inForm:(double)arg2;
- (void)autoFillValues:(id)arg1 andFocusField:(id)arg2;
- (void)fetchFormMetadataWithCompletion:(CDUnknownBlockType)arg1;
- (void)getTextFieldMetadata:(id *)arg1 formMetadata:(id *)arg2;
- (id)textFieldValue;
- (void)setAutoFillButtonTitle:(id)arg1;
- (void)invalidate;
- (void)dealloc;
- (id)initWithTextField:(id)arg1 webFrame:(id)arg2;

@end

@interface WBUFormAutoFillFrame : NSObject <WBSFormAutoFillFrame>
{
    WebFrame *_webFrame;
}

+ (id)autoFillFrameWithWebFrame:(id)arg1;
@property(readonly, nonatomic) WebFrame *webFrame; // @synthesize webFrame=_webFrame;
- (void).cxx_destruct;
- (void)enumerateChildFramesUsingBlock:(CDUnknownBlockType)arg1;
- (id)committedURL;
- (struct OpaqueJSValue *)jsWrapperInMetadataControllerScriptWorldForNode:(id)arg1;
- (_Bool)containsAnyFormElements;
- (struct OpaqueJSContext *)jsContextForMetadataControllerScriptWorld;
- (struct OpaqueFormAutoFillFrame *)frameRef;
- (id)initWithWebFrame:(id)arg1;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBUFormAutoFillNode : NSObject <WBSFormAutoFillNode>
{
    DOMNode *_domNode;
}

+ (id)autoFillNodeWithDOMNode:(id)arg1;
@property(readonly, nonatomic) DOMNode *domNode; // @synthesize domNode=_domNode;
- (void).cxx_destruct;
- (id)htmlTableCellElementCellAbove;
- (_Bool)isHTMLTextAreaElementUserEdited;
- (_Bool)isHTMLInputElementUserEdited;
- (void)setHTMLInputElementAutofilled:(_Bool)arg1;
- (_Bool)isHTMLInputElementAutofilled;
- (struct CGRect)elementBounds;
- (id)initWithDOMNode:(id)arg1;
- (id)initWithJSWrapper:(struct OpaqueJSValue *)arg1 inContext:(struct OpaqueJSContext *)arg2;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBUFormAutoFillPrompt : NSObject
{
}

+ (void)alertView:(id)arg1 clickedButtonAtIndex:(long long)arg2;
+ (void)actionSheet:(id)arg1 clickedButtonAtIndex:(long long)arg2;
+ (void)showAutoFillPromptInWebView:(id)arg1 title:(id)arg2 message:(id)arg3 cancelButtonTitle:(id)arg4 otherButtonTitles:(id)arg5 numberOfRows:(unsigned long long)arg6 completionHandler:(CDUnknownBlockType)arg7;
+ (void)showAutoFillPromptInWebView:(id)arg1 title:(id)arg2 message:(id)arg3 cancelButtonTitle:(id)arg4 otherButtonTitles:(id)arg5 completionHandler:(CDUnknownBlockType)arg6;
+ (id)_actionSheetStringWithTitle:(id)arg1 message:(id)arg2;

@end

@interface WBUFormDataController : WBSFormDataController <UIActionSheetDelegate>
{
    _Bool _savePending;
}

+ (_Bool)_isDevicePasscodeSet;
+ (_Bool)_isKeychainSyncEnabled;
- (void)prepareMeCard;
- (void)textDidChangeInForm:(id)arg1 inWebView:(id)arg2 frame:(id)arg3;
- (void)didFillFormWithGeneratedPassword:(id)arg1 inWebView:(id)arg2 frame:(id)arg3;
- (_Bool)_updateCredentialsWithGeneratedPasswordForForm:(id)arg1 inWebView:(id)arg2 frame:(id)arg3;
- (_Bool)webView:(id)arg1 frame:(id)arg2 willNavigateFromForm:(id)arg3 bySubmitting:(_Bool)arg4 usernameIsAutoFilled:(_Bool)arg5 passwordIsAutoFilled:(_Bool)arg6 submissionHandler:(CDUnknownBlockType)arg7;
- (_Bool)_webView:(id)arg1 willSubmitLoginFormWithMetadata:(id)arg2 formSubmission:(_Bool)arg3 fromFrame:(id)arg4 usernameIsAutoFilled:(_Bool)arg5 passwordIsAutoFilled:(_Bool)arg6 submissionHandler:(CDUnknownBlockType)arg7;
- (_Bool)_webView:(id)arg1 saveCredentialsForURL:(id)arg2 formSubmission:(_Bool)arg3 formWithMetadata:(id)arg4 fromFrame:(id)arg5 username:(id)arg6 password:(id)arg7 usernameIsAutoFilled:(_Bool)arg8 passwordIsAutoFilled:(_Bool)arg9 submissionHandler:(CDUnknownBlockType)arg10;
- (id)_relatedCredentialMatchesToUpdateForUser:(id)arg1 protectionSpace:(id)arg2 oldCredential:(id *)arg3 matchesForCurrentHost:(id *)arg4;
- (void)_showPasswordPromptForWebView:(id)arg1 formType:(unsigned long long)arg2 username:(id)arg3 isGeneratedPassword:(_Bool)arg4 host:(id)arg5 hasCredentialForCurrentHost:(_Bool)arg6 existingCredentialMatchesForCurrentHost:(id)arg7 otherSubdomainCredentialMatches:(id)arg8 completionHandler:(CDUnknownBlockType)arg9;
- (_Bool)_webView:(id)arg1 willSubmitStandardFormWithMetadata:(id)arg2 fromFrame:(id)arg3 submissionHandler:(CDUnknownBlockType)arg4;
- (_Bool)_webView:(id)arg1 formSubmission:(_Bool)arg2 willSubmitNewAccountOrChangePasswordFormWithMetadata:(id)arg3 fromFrame:(id)arg4 submissionHandler:(CDUnknownBlockType)arg5;
- (_Bool)_webView:(id)arg1 saveUsernameAndGeneratedPasswordFromForm:(id)arg2 inFrame:(id)arg3 confirmOverwritingCurrentPassword:(_Bool)arg4 submissionHandler:(CDUnknownBlockType)arg5;
- (_Bool)_webView:(id)arg1 saveUsernameAndGeneratedPasswordForURL:(id)arg2 fromForm:(id)arg3 inFrame:(id)arg4 username:(id)arg5 password:(id)arg6 confirmOverwritingCurrentPassword:(_Bool)arg7 submissionHandler:(CDUnknownBlockType)arg8;
- (id)_credentialMatchesEligibleForUpdateForURL:(id)arg1 username:(id)arg2 oldPassword:(id)arg3;
- (_Bool)_webView:(id)arg1 willSubmitFormContainingCreditCardData:(id)arg2 fromFrame:(id)arg3 submissionHandler:(CDUnknownBlockType)arg4;
- (void)_showCreditCardPromptForWebView:(id)arg1 completionHandler:(CDUnknownBlockType)arg2;
- (void)saveUnsubmittedGeneratedPasswordInFrame:(id)arg1 form:(id)arg2 closingWebView:(_Bool)arg3;
- (void)clearAllFormCredentials;
- (void)gatherValuesForForm:(id)arg1 inFrame:(id)arg2 completionHandler:(CDUnknownBlockType)arg3;
- (id)autoFillValuesForLoginForm:(id)arg1 inFrame:(id)arg2 potentialMatches:(id *)arg3;
- (void)_autoFillPreferencesDidChange;
- (void)_applicationWillEnterForeground:(id)arg1;
- (_Bool)mayPreFillInFrame:(id)arg1;
- (_Bool)mayFillCreditCardDataInFrame:(id)arg1;
- (_Bool)shouldAutoFillFromCreditCardDataInFrame:(id)arg1;
@property(nonatomic) _Bool shouldAutoFillFromAddressBook;
@property(nonatomic) _Bool shouldAutoFillFromCreditCardData;
@property(nonatomic) _Bool shouldAutoFillPasswords;
- (_Bool)shouldAutoFillFromPreviousData;
- (_Bool)_shouldSaveCreditCardDataInWebView:(id)arg1 frame:(id)arg2;
- (_Bool)_shouldSaveUsernamesAndPasswordsInWebView:(id)arg1;
- (_Bool)shouldAutoGeneratePasswordsInWebView:(id)arg1;
- (id)addressBookMatchesForProperty:(id)arg1 key:(id)arg2 label:(id)arg3;
- (id)_addressBookMatchesForProxyProperty:(id)arg1;
- (id)_meCard;
- (void)saveCompletionDBSoon;
- (id)completionDBPath;
- (void)dealloc;
- (id)init;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBUFormDataControllerWK1 : WBUFormDataController <UIWebAutoFillDelegate>
{
    WBUFormAutoCompleteStateWK1 *_autoCompleteState;
    NSObject<OS_dispatch_queue> *_editedTextFieldsByFrameQueue;
    NSMapTable *_editedTextFieldsByFrame;
    NSHashTable *_webBrowserViewsWithUnsubmittedForms;
}

+ (id)sharedFormDataController;
- (void).cxx_destruct;
- (void)webBrowserView:(id)arg1 clearFormAutoFillStateForFrame:(id)arg2;
- (void)webBrowserView:(id)arg1 acceptedAutoFillWord:(id)arg2;
- (id)webBrowserView:(id)arg1 suggestionsForString:(id)arg2;
- (_Bool)hasCurrentSuggestionsForWebBrowserView:(id)arg1;
- (void)webBrowserView:(id)arg1 textDidChangeInTextField:(id)arg2 inFrame:(id)arg3;
- (void)_detectWebsiteSpecificSearchProviderInForm:(id)arg1 sourceFrame:(id)arg2 webBrowserView:(id)arg3;
- (void)webBrowserView:(id)arg1 didFocusTextField:(id)arg2 inFrame:(id)arg3;
- (void)webBrowserView:(id)arg1 didEndEditingTextField:(id)arg2 inFrame:(id)arg3;
- (void)webBrowserView:(id)arg1 didBeginEditingTextField:(id)arg2 inFrame:(id)arg3;
- (void)webBrowserView:(id)arg1 willSubmitForm:(id)arg2 toFrame:(id)arg3 fromFrame:(id)arg4 withValues:(id)arg5 submissionHandler:(CDUnknownBlockType)arg6;
- (void)webBrowserView:(id)arg1 willSendSubmitEventToForm:(id)arg2 inFrame:(id)arg3 withValues:(id)arg4;
- (void)webBrowserView:(id)arg1 preFillInFrame:(id)arg2;
- (void)autoFillInWebBrowserView:(id)arg1;
- (void)webBrowserView:(id)arg1 updateAutoFillButton:(id)arg2;
- (_Bool)webBrowserViewShouldShowAutoFillButton:(id)arg1;
- (id)titleOfAutoFillButtonInWebBrowserView:(id)arg1;
- (void)_unregisterWebBrowserViewWithUnsubmittedForm:(id)arg1;
- (void)_registerWebBrowserViewWithUnsubmittedForm:(id)arg1;
- (void)_webViewWillClose:(id)arg1;
- (void)_applicationWillTerminate:(id)arg1;
- (void)_applicationDidEnterBackground:(id)arg1;
- (void)_saveUnsubmittedGeneratedPasswords;
- (void)_recursivelySaveUnsubmittedGeneratedPasswordsInWebBrowserView:(id)arg1 frame:(id)arg2;
- (void)didFocusTextField:(id)arg1 inFrame:(id)arg2;
- (void)didEndEditingTextField:(id)arg1 inFrame:(id)arg2;
- (void)clearFormAutoFillStateForFrame:(id)arg1;
- (id)decisionListenerForAction:(id)arg1 frame:(id)arg2 originalListener:(id)arg3;
- (id)_formMetadataAndFrame:(id *)arg1 forPolicyAction:(id)arg2 frame:(id)arg3;
- (void)_autoFillLoginForm:(id)arg1 inFrame:(id)arg2;
- (void)dealloc;
- (id)init;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBUFormMetadataController : WBSFormMetadataController
{
    WebScriptWorld *_scriptWorld;
}

+ (id)sharedFormMetadataController;
- (void).cxx_destruct;
- (void)clearScriptWorld;
@property(readonly, nonatomic) WebScriptWorld *scriptWorld; // @synthesize scriptWorld=_scriptWorld;
- (id)formAutoFillNodeForJSWrapper:(struct OpaqueJSValue *)arg1 inContext:(struct OpaqueJSContext *)arg2;

@end

@interface WBUFormsMetadataProvider : NSObject <WBSFormsMetadataProvider>
{
    NSArray *_framesForAllForms;
    NSArray *_metadataForAllForms;
}

+ (id)metadataProviderWithFrames:(id)arg1 metadataForAllForms:(id)arg2;
- (void).cxx_destruct;
- (void)enumerateFormsUsingBlock:(CDUnknownBlockType)arg1;
@property(readonly, nonatomic) unsigned long long formCount;
- (id)initWithFrames:(id)arg1 metadataForAllForms:(id)arg2;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBUHistory : WBSHistory
{
}

- (void)historyStoreDidFailDatabaseIntegrityCheck:(id)arg1;
- (_Bool)historyStoreShouldCheckDatabaseIntegrity:(id)arg1;
- (Class)_historyItemClass;
- (void)_addVisitedLinksForItemsIfNeeded:(id)arg1;
- (void)_removeAllVisitedLinks;
- (id)_createHistoryStore;
- (id)init;

@end

@interface WBUPolicyDelegate : WebDefaultPolicyDelegate
{
}

+ (id)sharedPolicyDelegate;
- (void)webView:(id)arg1 decidePolicyForNewWindowAction:(id)arg2 request:(id)arg3 newFrameName:(id)arg4 decisionListener:(id)arg5;
- (void)webView:(id)arg1 decidePolicyForNavigationAction:(id)arg2 request:(id)arg3 frame:(id)arg4 decisionListener:(id)arg5;
- (_Bool)_webViewWantsAutoFill:(id)arg1;

@end

@interface WBUPrintPageRenderer : UIPrintPageRenderer <UIPrintInteractionControllerDelegate>
{
    NSNumberFormatter *_numberFormatter;
    UIWebPaginationInfo *_paginationInfo;
    double _URLWidth;
    NSString *_dateString;
    double _dateWidth;
    double _printWidth;
    struct CGPoint _contentOffset;
    struct CGPoint _footerOffset;
    UIFont *_footerFont;
    UIColor *_footerColor;
    _Bool _printFooter;
    UIWebBrowserView *_browserView;
    WebFrame *_webFrame;
    NSString *_URLString;
    UIPrintFormatter *_contentFormatter;
}

@property(nonatomic) _Bool printFooter; // @synthesize printFooter=_printFooter;
@property(retain, nonatomic) UIPrintFormatter *contentFormatter; // @synthesize contentFormatter=_contentFormatter;
@property(retain, nonatomic) NSString *URLString; // @synthesize URLString=_URLString;
@property(retain, nonatomic) WebFrame *webFrame; // @synthesize webFrame=_webFrame;
@property(retain, nonatomic) UIWebBrowserView *browserView; // @synthesize browserView=_browserView;
- (void).cxx_destruct;
- (void)associateWithPrintController:(id)arg1;
- (id)printInfoWithPageTitle:(id)arg1;
- (id)printControllerWithPageTitle:(id)arg1;
- (void)printInteractionControllerDidFinishJob:(id)arg1;
- (void)printInteractionControllerWillStartJob:(id)arg1;
- (id)printingFrame;
- (void)drawFooterForPageAtIndex:(long long)arg1 inRect:(struct CGRect)arg2;
- (void)drawContentForPageAtIndex:(long long)arg1 inRect:(struct CGRect)arg2;
- (long long)numberOfPages;
- (id)init;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBURecentWebSearchesController : WBSRecentWebSearchesController
{
    NSString *_preferencesDomain;
    NSString *_pathToLegacySearchesFile;
}

+ (unsigned long long)_maximumNumberOfSearchesToTrack;
- (void).cxx_destruct;
- (void)_migrateLegacyData;
- (id)_recentSearchDictionariesFromUserDefaultsUsingKey:(id)arg1;
- (void)_saveRecentSearchDictionaries:(id)arg1 toUserDefaultsUsingKey:(id)arg2;
- (void)_removeLegacyRecentSearchesData;
- (id)initWithPreferencesDomain:(id)arg1 pathToLegacySearchesFile:(id)arg2;

@end

@interface WBUSheetController : NSObject <UITableViewDelegate, UITableViewDataSource>
{
    UIAlertController *_alertController;
    WebUIAlert *_alert;
    NSMutableArray *_alertInvocationQueue;
    UITableView *_tableView;
    id _delegate;
    _Bool _isDismissed;
}

- (void).cxx_destruct;
- (void)tableView:(id)arg1 didSelectRowAtIndexPath:(id)arg2;
- (id)tableView:(id)arg1 cellForRowAtIndexPath:(id)arg2;
- (long long)tableView:(id)arg1 numberOfRowsInSection:(long long)arg2;
- (void)_alertDidDismissWithAction:(int)arg1;
- (void)setDelegate:(id)arg1;
- (void)hideSheet;
- (void)showSheetForAlert:(id)arg1 inView:(id)arg2;
- (void)_showSheetForAlert:(id)arg1 inView:(id)arg2 withClass:(Class)arg3;
- (void)showSheetForAlert:(id)arg1;
- (id)initWithDelegate:(id)arg1;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface WBUWebsiteDataUtilities : NSObject
{
}

+ (unsigned long long)newApplicationCacheQuotaForOrigin:(id)arg1 currentQuota:(unsigned long long)arg2 totalBytesNeeded:(unsigned long long)arg3;
+ (unsigned long long)newDatabaseQuotaForOrigin:(id)arg1 currentQuota:(unsigned long long)arg2 currentOriginUsage:(unsigned long long)arg3 currentDatabaseUsage:(unsigned long long)arg4 expectedUsage:(unsigned long long)arg5;

@end

@interface WebFrame (WebUIExtras) <WBUFormAutoFillFrameHandle>
@property(readonly, nonatomic) NSArray *webui_certificateChain;
@property(readonly, nonatomic) NSURL *webui_URL;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;
@end

@interface WebSecurityOrigin (WebUIExtras)
- (id)webui_userVisibleName;
@end

@interface WebUIAlert : NSObject
{
    NSString *_title;
    NSString *_bodyText;
    int _type;
    int _defaultAction;
    int _otherAction;
    int _hideAction;
    int _tableAction;
    NSMutableArray *_tableItems;
    long long _indexOfSelectedTableItem;
    id _context;
    CDUnknownBlockType _actionHandler;
}

@property(copy, nonatomic) CDUnknownBlockType actionHandler; // @synthesize actionHandler=_actionHandler;
- (void).cxx_destruct;
- (id)selectedTableItem;
- (void)setSelectedTableItemIndex:(long long)arg1;
- (void)setTableItems:(id)arg1 withTitles:(id)arg2;
- (id)tableItems;
- (id)context;
- (void)setContext:(id)arg1;
- (void)setHideAction:(int)arg1;
- (int)tableAction;
- (int)hideAction;
- (int)defaultAction;
- (int)actionForButtonTag:(long long)arg1;
- (id)buttonTitles;
- (id)_buttonTitleForAction:(int)arg1;
- (id)bodyText;
- (id)title;
- (int)type;
- (id)initWithType:(int)arg1 title:(id)arg2 defaultAction:(int)arg3 otherAction:(int)arg4;
- (id)initWithType:(int)arg1 title:(id)arg2 bodyText:(id)arg3 defaultAction:(int)arg4 otherAction:(int)arg5;
- (id)initWithType:(int)arg1 title:(id)arg2 defaultAction:(int)arg3 otherAction:(int)arg4 tableAction:(int)arg5;
- (id)initWithType:(int)arg1 title:(id)arg2 bodyText:(id)arg3 defaultAction:(int)arg4 otherAction:(int)arg5 tableAction:(int)arg6;

@end

@interface WebUIAuthenticationManager : NSObject
{
    NSMutableArray *_authenticationChallenges;
    NSURLCredential *_credentials;
    UIAlertView *_authenticationView;
    id _delegate;
    _Bool _isShowingAuthenticationPanel;
}

- (void).cxx_destruct;
- (void)removeAuthenticationChallenge:(id)arg1;
- (void)addAuthenticationChallenge:(id)arg1 displayPanel:(_Bool)arg2;
- (void)addAuthenticationChallenge:(id)arg1;
- (void)setDelegate:(id)arg1;
- (void)cancelAuthentication;
- (void)alertView:(id)arg1 didDismissWithButtonIndex:(long long)arg2;
- (void)sheetReturnKeyPressed:(id)arg1;
- (void)setShowingAuthentication:(_Bool)arg1;
- (id)authenticationChallenge;

@end

@interface WebUIBrowserLoadingController : NSObject
{
    NSURL *_backURL;
    NSURL *_forwardURL;
    NSArray *_fallbackURLs;
    _Bool _securePageHasInsecureContent;
    NSString *_lastSuccessfulURLString;
    _Bool _loadStartedDuringSimulatedClick;
    _Bool _loadEndedWithError;
    _Bool _loadStoppedFromAPI;
    NSError *_errorThatCausedLoadToEnd;
    WebDataSource *_dataSourceWithError;
    unsigned int _pendingFrameLoadMessages;
    NSString *_userTypedAddress;
    _Bool _canGoBack;
    _Bool _canGoForward;
    _Bool _loading;
    _Bool _simulatingClick;
    float _estimatedProgress;
    id <WebUIBrowserLoadingControllerDelegate> _delegate;
    UIWebBrowserView *_browserView;
    NSString *_title;
    NSString *_URLString;
    NSURL *_URL;
    long long _loadingState;
}

@property(nonatomic) long long loadingState; // @synthesize loadingState=_loadingState;
@property(readonly, nonatomic, getter=isSimulatingClick) _Bool simulatingClick; // @synthesize simulatingClick=_simulatingClick;
@property(retain, nonatomic) NSURL *URL; // @synthesize URL=_URL;
@property(readonly, nonatomic) NSString *URLString; // @synthesize URLString=_URLString;
@property(copy, nonatomic) NSString *title; // @synthesize title=_title;
@property(nonatomic) float estimatedProgress; // @synthesize estimatedProgress=_estimatedProgress;
@property(readonly, nonatomic, getter=isLoading) _Bool loading; // @synthesize loading=_loading;
@property(readonly, nonatomic) _Bool canGoForward; // @synthesize canGoForward=_canGoForward;
@property(readonly, nonatomic) _Bool canGoBack; // @synthesize canGoBack=_canGoBack;
@property(retain, nonatomic) UIWebBrowserView *browserView; // @synthesize browserView=_browserView;
@property(nonatomic) id <WebUIBrowserLoadingControllerDelegate> delegate; // @synthesize delegate=_delegate;
- (void).cxx_destruct;
- (void)webThreadWebView:(id)arg1 didLayout:(unsigned long long)arg2;
- (void)webView:(id)arg1 didHandleOnloadEventsForFrame:(id)arg2;
- (void)webView:(id)arg1 didFirstVisuallyNonEmptyLayoutInFrame:(id)arg2;
- (void)webView:(id)arg1 didClearWindowObject:(id)arg2 forFrame:(id)arg3;
- (void)webView:(id)arg1 didRunInsecureContent:(id)arg2;
- (void)webViewDidDisplayInsecureContent:(id)arg1;
- (void)webView:(id)arg1 didRemoveFrameFromHierarchy:(id)arg2;
- (void)webView:(id)arg1 didPopStateWithinPageForFrame:(id)arg2;
- (void)webView:(id)arg1 didReplaceStateWithinPageForFrame:(id)arg2;
- (void)webView:(id)arg1 didPushStateWithinPageForFrame:(id)arg2;
- (void)webView:(id)arg1 didCancelClientRedirectForFrame:(id)arg2;
- (void)webView:(id)arg1 willPerformClientRedirectToURL:(id)arg2 delay:(double)arg3 fireDate:(id)arg4 forFrame:(id)arg5;
- (void)webView:(id)arg1 didChangeLocationWithinPageForFrame:(id)arg2;
- (void)webView:(id)arg1 didFailLoadWithError:(id)arg2 forFrame:(id)arg3;
- (void)webView:(id)arg1 didFinishLoadForFrame:(id)arg2;
- (void)webView:(id)arg1 didReceiveTitle:(id)arg2 forFrame:(id)arg3;
- (void)webView:(id)arg1 didCommitLoadForFrame:(id)arg2;
- (void)webView:(id)arg1 didFailProvisionalLoadWithError:(id)arg2 forFrame:(id)arg3;
- (void)webView:(id)arg1 didReceiveServerRedirectForProvisionalLoadForFrame:(id)arg2;
- (void)webView:(id)arg1 didStartProvisionalLoadForFrame:(id)arg2;
- (void)finishSimulatedClick;
- (void)beginSimulatedClickForURL:(id)arg1;
- (void)_didNotLoadURL;
- (void)_mightLoadURL:(id)arg1;
- (void)loadStartedDuringSimulatedClickForURL:(id)arg1;
@property(readonly, nonatomic, getter=isSecure) _Bool secure;
- (void)_setSecurePageHasInsecureContent:(_Bool)arg1;
- (void)loadWebClip:(id)arg1 userDriven:(_Bool)arg2;
- (void)loadUserTypedAddress:(id)arg1;
- (void)_tryMultipleURLs:(id)arg1 forWebClip:(id)arg2;
- (void)loadRequest:(id)arg1 userDriven:(_Bool)arg2;
- (void)_loadRequest:(id)arg1 userDriven:(_Bool)arg2;
- (void)_setFallbackURLs:(id)arg1;
- (void)_updateAfterHistoryChange;
- (void)_setLoading:(_Bool)arg1 withError:(_Bool)arg2 fromDelegate:(_Bool)arg3 fromFragmentLoad:(_Bool)arg4;
- (id)_getDataSourceURL:(id)arg1;
- (void)_updateURL;
- (void)_updateURLString;
- (void)_setUserTypedAddress:(id)arg1;
- (void)_forceStopLoadingFromDelegateWithError:(id)arg1;
- (void)_forceStartLoading;
- (void)_setLoading:(_Bool)arg1 withError:(_Bool)arg2;
- (void)_setLoading:(_Bool)arg1 withError:(_Bool)arg2 fromDelegate:(_Bool)arg3;
- (void)_setLoading:(_Bool)arg1 withError:(_Bool)arg2 fromFragmentLoad:(_Bool)arg3;
- (void)_setLoadingFromDelegate:(_Bool)arg1 withError:(id)arg2 dataSource:(id)arg3;
- (void)stopLoading;
- (void)goForward;
- (void)goBack;
- (void)reload;
- (_Bool)_URLMayStartLoad:(id)arg1;
- (id)_dataSourceURL;
- (void)_performWebViewLoadSelector:(SEL)arg1 forceProgress:(_Bool)arg2;
- (void)_progressChanged:(id)arg1;
- (void)didDrawTiles;
- (void)_attemptTransitionToLoadingState:(long long)arg1;
- (void)_updateBackForward;
- (void)_setForwardURL:(id)arg1;
- (void)_setBackURL:(id)arg1;
- (void)dealloc;
- (id)initWithDelegate:(id)arg1;

@end

@interface WebUICertificateError : NSObject
{
}

+ (_Bool)isClientCertificateError:(long long)arg1;
+ (_Bool)isServerCertificateError:(long long)arg1;
+ (_Bool)proceedWithClientCertificateIdentity:(struct __SecIdentity *)arg1 context:(id)arg2;
+ (id)newAlertToListPossibleClientSideCertificatesWithContext:(id)arg1;
+ (id)newAlertToHandleClientSideCertificateErrorCode:(long long)arg1 context:(id)arg2;
+ (_Bool)canAuthenticateAgainstProtectionSpace:(id)arg1;
+ (_Bool)userAllowsCertificateTrust:(struct __SecTrust *)arg1 host:(id)arg2 applicationDisplayName:(id)arg3;

@end

@interface WebUIDelayedSpinner : NSObject
{
}

+ (void)hide;
+ (void)showWithDelay;
+ (void)_setShowStatusBarSpinner:(_Bool)arg1 withDelay:(double)arg2;
+ (void)_showStatusBarSpinner:(id)arg1;
+ (void)_setShowStatusBarSpinnerTimer:(id)arg1;

@end

@interface WebUIDelegate : NSObject
{
}

- (void)webView:(id)arg1 exceededApplicationCacheOriginQuotaForSecurityOrigin:(id)arg2 totalSpaceNeeded:(unsigned long long)arg3;
- (void)webView:(id)arg1 frame:(id)arg2 exceededDatabaseQuotaForSecurityOrigin:(id)arg3 database:(id)arg4;

@end

@interface WebUIDownloadManager : NSObject
{
    id _delegate;
    NSURLDownload *_download;
    NSString *_downloadPath;
}

- (void).cxx_destruct;
- (void)download:(id)arg1 didFailWithError:(id)arg2;
- (void)downloadDidFinish:(id)arg1;
- (void)_downloadDidFail:(id)arg1;
- (void)_cleanUp;
- (void)download:(id)arg1 decideDestinationWithSuggestedFilename:(id)arg2;
- (void)downloadDidBegin:(id)arg1;
- (void)setDelegate:(id)arg1;

@end

@interface WebUIModalAlertView : UIAlertView <UIAlertViewDelegate>
{
    long long _clickedButton;
}

+ (id)modalAlertSheetWithTitle:(id)arg1 message:(id)arg2 cancelButtonTitle:(id)arg3 otherButtonTitle:(id)arg4;
- (void)alertView:(id)arg1 clickedButtonAtIndex:(long long)arg2;
- (long long)clickedButton;
- (id)initWithTitle:(id)arg1 message:(id)arg2 cancelButtonTitle:(id)arg3 otherButtonTitle:(id)arg4;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end

@interface _WBSFieldLabelPatternMatcherFactory : NSObject
{
    NSMutableDictionary *_trie;
}

+ (struct __WBSFieldLabelPatternMatcherArray *)createFieldLabelPatternMatcherArrayFromWordArrays:(id)arg1 allowingEndOfWordMatches:(_Bool)arg2;
- (void).cxx_destruct;
- (void)_addWord:(id)arg1 allowingEndOfWordMatch:(_Bool)arg2;
- (id)init;

@end

@interface _WBUCertificateUtilities : NSObject
{
}

+ (_Bool)isCertificateChain:(id)arg1 trustedForHost:(id)arg2;
+ (id)identitiesWithProtectionSpace:(id)arg1;

@end

@interface _WBUDynamicMeCard : NSObject
{
    void *_me;
    NSMutableArray *_blocksPendingMeCard;
}

+ (int)_ABPropertyIDForString:(id)arg1;
+ (_Bool)isProxyProperty:(id)arg1;
- (void).cxx_destruct;
- (void)performWhenReady:(CDUnknownBlockType)arg1;
- (id)valueForProxyProperty:(id)arg1;
- (id)valueForProperty:(id)arg1 isMultiValue:(_Bool *)arg2;
- (void)_addressBookChanged:(id)arg1;
- (void)dealloc;
- (id)init;

@end

@interface _WBUPolicyDecisionListener : NSObject <WebPolicyDecisionListener>
{
    WebFrame *_frame;
    long long _navigationType;
    NSDictionary *_formMetadata;
    id <WebPolicyDecisionListener> _originalListener;
}

- (void).cxx_destruct;
- (void)ignore;
- (void)download;
- (void)use;
- (id)initWithFrame:(id)arg1 navigationType:(long long)arg2 formMetadata:(id)arg3 originalListener:(id)arg4;

// Remaining properties
@property(readonly, copy) NSString *debugDescription;
@property(readonly, copy) NSString *description;
@property(readonly) unsigned long long hash;
@property(readonly) Class superclass;

@end