@class NSDictionary, WBSSavedAccountContext, NSString, NSMutableSet, NSMutableIndexSet, NSTimer, NSArray, _WKRemoteObjectInterface, SFAppAutoFillOneTimeCodeProvider, _SFFormAutoFillInputSession, SFFormAutocompleteState, NSSet, UIView, _SFAuthenticationContext, WBSDispatchSourceTimer, WBSCreditCardData, _SFAutoFillInputView, CNContact, SFFormAutoFillFrameHandle, WKWebView, WBSFormMetadata; @protocol SFFormAutoFillControllerDelegate, WBUFormAutoFillWebView, SFFormAutoFiller; @interface _SFFormAutoFillController : NSObject { WKWebView *_webView; id _delegate; _WKRemoteObjectInterface *_remoteObjectInterface; id _autoFiller; BOOL _isCurrentlyAuthenticating; long long _authenticationType; SFFormAutocompleteState *_state; SFFormAutocompleteState *_stateForPageLevelAutoFill; NSTimer *_prefillTimer; WBSFormMetadata *_unsubmittedForm; SFFormAutoFillFrameHandle *_unsubmittedFormFrame; NSMutableIndexSet *_uniqueIDsOfFormsThatWereAutoFilled; NSMutableSet *_uniqueIDsOfControlsThatWereAutoFilled; NSString *_uniqueIDOfFocusedPasswordElementWithAutomaticPassword; NSArray *_uniqueIDsOfPasswordElementsForAutomaticPasswords; SFFormAutoFillFrameHandle *_frameHandleForAutomaticPasswords; _SFFormAutoFillInputSession *_inputSessionForAutomaticPasswords; NSString *_alphanumericStrongPassword; _SFAutoFillInputView *_autoFillInputView; NSArray *_preservedLeadingBarButtonGroups; NSArray *_preservedTrailingBarButtonGroups; BOOL _attemptedOfferingStreamlinedLogin; NSDictionary *_externalCredentialIdentitiesForStreamlinedAutoFill; WBSDispatchSourceTimer *_timerToShowSpinnerInForm; WBSDispatchSourceTimer *_timerToStopShowingSpinnerInForm; } @property (readonly, nonatomic) UIView *webView; @property (nonatomic) BOOL metadataCorrectionsEnabled; @property (readonly, copy, nonatomic) NSString *defaultStrongPassword; @property (readonly, copy, nonatomic) NSString *currentStrongPassword; @property (readonly, nonatomic) _SFAuthenticationContext *authenticationContext; @property (readonly, nonatomic) SFAppAutoFillOneTimeCodeProvider *oneTimeCodeProvider; @property (readonly, copy, nonatomic) WBSSavedAccountContext *savedAccountContext; @property (readonly, nonatomic) NSDictionary *creditCardFormValues; @property (retain, nonatomic) CNContact *lastFilledContact; @property (nonatomic) BOOL waitingForCreditCardDataFromWallet; @property (retain, nonatomic) WBSCreditCardData *lastFilledCreditCardData; @property (retain, nonatomic) NSSet *lastFilledCreditCardDataTypes; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)_filterAndSortCredentialIdentities:(id)a0 pageURL:(id)a1 exactMatchesOnly:(BOOL)a2; + (void)_getExternalLoginCredentialSuggestionsForDomains:(id)a0 completion:(id /* block */)a1; + (void)_getExternalLoginCredentialSuggestionsForDomains:(id)a0 pageURL:(id)a1 completion:(id /* block */)a2; - (void)updateSuggestions; - (void)clearAutoFilledCreditCardFieldsInFrame:(id)a0 textFieldMetadata:(id)a1 formMetadata:(id)a2 completionHandler:(id /* block */)a3; - (id)alphanumericStrongPassword; - (void)_fieldFocused:(id)a0 inForm:(id)a1 inFrame:(id)a2 inputSession:(id)a3; - (void)_addUniqueIDsOfAutoFilledForm:(id)a0; - (void)_didFocusSensitiveFormField; - (void)authenticateForAutoFillAuthenticationType:(long long)a0 withCompletion:(id /* block */)a1; - (void)didFillOneTimeCodeAndShouldSubmit:(BOOL)a0; - (id)automaticPasswordForPasswordField:(id)a0 inForm:(id)a1 isFrame:(id)a2; - (void)dealloc; - (void)annotateForm:(long long)a0 inFrame:(id)a1 withValues:(id)a2; - (void)_fieldFocusedWithInputSession:(id)a0; - (id)_beginAutomaticPasswordInteractionWithInputSession:(id)a0 generatedPassword:(id)a1 ignorePreviousDecision:(BOOL)a2; - (void)removeAutomaticPasswordButtonInitiatedByUser:(BOOL)a0; - (void)autoFillInputViewDidSelectMorePasswords:(id)a0; - (id)authenticationCustomUIProgressObserverForContext:(id)a0; - (void)insertTextSuggestion:(id)a0; - (id)_websiteForAuthenticationPrompt; - (void)didCompleteWithPasskey; - (id)_simulatedWebEventForReturnKeyWithType:(int)a0; - (void)beginAutomaticPasswordInteractionWithInputSession:(id)a0 generatedPassword:(id)a1; - (void)_removeUniqueIDsOfAutoFilledForm:(id)a0; - (BOOL)_showingAutoFillInputView; - (void)removeAutomaticPasswordVisualTreatment; - (void)autoFillDidFinishWithUpdatedFormMetadata:(id)a0 inFrame:(id)a1 shouldSubmit:(BOOL)a2; - (void)_dismissKeyboardAndSimulateCarriageReturnKeyEvents:(BOOL)a0; - (void)fillTextField:(id)a0 inFrame:(id)a1 withGeneratedPassword:(id)a2; - (void)invalidate; - (void)didUpdateUnsubmittedForm:(id)a0 inFrame:(id)a1; - (id)authenticationMessageForContext:(id)a0; - (void)updateExistingStreamlinedSuggestionIfNecessary:(id)a0; - (void)makeStrongPasswordFieldViewableAndEditable:(BOOL)a0; - (id)initWithWebView:(id)a0 delegate:(id)a1; - (void)automaticPasswordSheetDismissed; - (void)showSpinnerInFormSoon:(id)a0 frame:(id)a1; - (void)prefillFormsSoonIfNeeded; - (void)autoFill; - (void)setAutoFillSpinnerVisibility:(BOOL)a0 textFieldMetadata:(id)a1 frame:(id)a2; - (id)passcodePromptForContext:(id)a0; - (void)autoFillFormInFrame:(id)a0 withValues:(id)a1 setAutoFilled:(BOOL)a2 focusFieldAfterFilling:(BOOL)a3 fieldToFocus:(id)a4 submitForm:(BOOL)a5; - (void)copyCurrentStrongPassword; - (void)_restoreInputAssistantItemsIfNecessary; - (void)autoFillInputViewDidSelectUseKeyboard:(id)a0; - (void)clearFieldsAndSetFormControlsToNotAutoFilled:(id)a0 inFrame:(id)a1 completionHandler:(id /* block */)a2; - (void)didPerformPageLevelAutoFill:(BOOL)a0; - (void)autoFillOneTimeCodeFieldsInFrame:(id)a0 withValue:(id)a1 shouldSubmit:(BOOL)a2; - (void)replaceCurrentPasswordWithPassword:(id)a0; - (void)fieldFocusedWithInputSession:(id)a0; - (void)willSubmitFormValues:(id)a0 userObject:(id)a1 submissionHandler:(id /* block */)a2; - (void)didCollectFormMetadataForPreFilling:(id)a0 atURL:(id)a1; - (void)autoFillFormInFrame:(id)a0 withValues:(id)a1 setAutoFilled:(BOOL)a2 focusFieldAfterFilling:(BOOL)a3 fieldToFocus:(id)a4 fieldsToObscure:(id)a5 submitForm:(BOOL)a6; - (BOOL)elementIsBeingFocusedForStreamlinedLogin:(id)a0; - (void)suppressSoftwareKeyboardOnWebView:(BOOL)a0; - (id)beginAutomaticPasswordInteractionWithInputSession:(id)a0; - (void)fieldDidFocusWithInputSession:(id)a0; - (id)_preFillDisabledHosts; - (void)fieldWillFocusWithInputSession:(id)a0; - (void).cxx_destruct; - (void)willSubmitForm:(id)a0 inFrame:(id)a1 submissionHandler:(id /* block */)a2; - (void)_authenticateForAutoFillForHighLevelDomain:(id)a0 withCompletion:(id /* block */)a1; - (void)performPageLevelAutoFill; - (BOOL)shouldShowIconsInPasswordPicker; - (void)didCollectFormMetadataForPageLevelAutoFill:(id)a0 atURL:(id)a1; - (void)textFieldFocused:(id)a0 inForm:(id)a1 inFrame:(id)a2 inputSession:(id)a3; - (void)didRemoveAutomaticStrongPasswordInForm:(id)a0 inputSessionUserObject:(id)a1 inFrame:(id)a2; - (void)_hideInputAssistantItemsIfNecessary; - (void)passwordFieldFocused:(id)a0 inForm:(id)a1 inFrame:(id)a2 inputSession:(id)a3; - (void)fillCreditCardData:(id)a0 inFrame:(id)a1 textFieldMetadata:(id)a2 formMetadata:(id)a3; - (void)autoFillTextSuggestion:(id)a0; - (void)prepareForShowingAutomaticStrongPasswordWithInputSession:(id)a0; - (void)didFillGeneratedPasswordInForm:(id)a0 inFrame:(id)a1; - (void)willNavigateFrame:(id)a0 withUnsubmittedForm:(id)a1; - (void)fetchMetadataForTextField:(id)a0 inFrame:(id)a1 withCompletion:(id /* block */)a2; - (void)didCollectURLsForPreFilling:(id)a0 atURL:(id)a1 inFrame:(id)a2; - (void)usernameFieldFocused:(id)a0 inForm:(id)a1 inFrame:(id)a2 inputSession:(id)a3; - (BOOL)displayMessageAsTitleForContext:(id)a0; - (void)credentialProviderExtensionManagerExtensionListDidChange:(id)a0; - (void)textDidChangeInTextField:(id)a0 inForm:(id)a1 inFrame:(id)a2; - (void)autoFillForm:(long long)a0 inFrame:(id)a1 withGeneratedPassword:(id)a2; - (void)offerToSaveUnsubmittedFormDataIfNeeded; - (void)stopShowingSpinnerInFormSoon:(double)a0 textFieldMetadata:(id)a1 frame:(id)a2; - (void)setFormControls:(id)a0 areAutoFilled:(BOOL)a1 andClearField:(id)a2 inFrame:(id)a3; - (void)_removeAutomaticPasswordButtonInitiatedByUser:(BOOL)a0 removeVisualTreatmentOnly:(BOOL)a1; - (void)_prefillTimerFired:(id)a0; @end