#ifndef CHROME_TEST_CHROMEDRIVER_WEBAUTHN_COMMANDS_H_
#define CHROME_TEST_CHROMEDRIVER_WEBAUTHN_COMMANDS_H_
#include <memory>
#include "base/functional/callback_forward.h"
#include "base/values.h"
struct Session;
class Status;
class WebView;
WebAuthnCommand;
Status ExecuteWebAuthnCommand(const WebAuthnCommand& command,
Session* session,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value);
Status ExecuteAddVirtualAuthenticator(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value);
Status ExecuteRemoveVirtualAuthenticator(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value);
Status ExecuteAddCredential(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value);
Status ExecuteGetCredentials(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value);
Status ExecuteRemoveCredential(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value);
Status ExecuteRemoveAllCredentials(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value);
Status ExecuteSetUserVerified(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value);
Status ExecuteSetCredentialProperties(WebView* web_view,
const base::Value::Dict& params,
std::unique_ptr<base::Value>* value);
#endif