class Selenium::WebDriver::VirtualAuthenticatorOptions

def as_json(*)

def as_json(*)
  {'protocol' => PROTOCOL[protocol],
   'transport' => TRANSPORT[transport],
   'hasResidentKey' => resident_key?,
   'hasUserVerification' => user_verification?,
   'isUserConsenting' => user_consenting?,
   'isUserVerified' => user_verified?}
end

def initialize(**opts)

def initialize(**opts)
  @protocol = opts.delete(:protocol) { :ctap2 }
  @transport = opts.delete(:transport) { :usb }
  @resident_key = opts.delete(:resident_key) { false }
  @user_verification = opts.delete(:user_verification) { false }
  @user_consenting = opts.delete(:user_consenting) { true }
  @user_verified = opts.delete(:user_verified) { false }
  raise ArgumentError, "Invalid arguments: #{opts.keys}" unless opts.empty?
end