#ifndef IOS_CHROME_COMMON_CREDENTIAL_PROVIDER_PASSKEY_KEYCHAIN_PROVIDER_BRIDGE_H_
#define IOS_CHROME_COMMON_CREDENTIAL_PROVIDER_PASSKEY_KEYCHAIN_PROVIDER_BRIDGE_H_
#import "base/ios/block_types.h"
#import "ios/chrome/common/credential_provider/passkey_keychain_provider.h"
@protocol Credential;
typedef void (^FetchSecurityDomainSecretCompletionBlock)(
NSArray<NSData*>* security_domain_secrets);
@protocol PasskeyKeychainProviderBridgeDelegate
- (void)performUserVerificationIfNeeded:(ProceduralBlock)completion;
- (void)showEnrollmentWelcomeScreen:(ProceduralBlock)enrollBlock;
- (void)showFixDegradedRecoverabilityWelcomeScreen:
(ProceduralBlock)fixDegradedRecoverabilityBlock;
- (void)showReauthenticationWelcomeScreen:(ProceduralBlock)reauthenticateBlock;
- (void)providerDidCompleteReauthentication;
@end
@interface PasskeyKeychainProviderBridge : NSObject
- (instancetype)initWithEnableLogging:(BOOL)enableLogging
navigationController:
(UINavigationController*)navigationController
navigationItemTitleView:(UIView*)navigationItemTitleView
NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
@property(nonatomic, weak) id<PasskeyKeychainProviderBridgeDelegate> delegate;
- (void)
fetchSecurityDomainSecretForGaia:(NSString*)gaia
credential:(id<Credential>)credential
purpose:(webauthn::ReauthenticatePurpose)purpose
completion:(FetchSecurityDomainSecretCompletionBlock)
fetchSecurityDomainSecretCompletion;
@end
#endif