chromium/components/autofill/core/browser/payments/card_unmask_challenge_option.h

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_PAYMENTS_CARD_UNMASK_CHALLENGE_OPTION_H_
#define COMPONENTS_AUTOFILL_CORE_BROWSER_PAYMENTS_CARD_UNMASK_CHALLENGE_OPTION_H_

#include <optional>
#include <string>

#include "base/types/strong_alias.h"
#include "url/gurl.h"

namespace autofill {

// Indicates the type of challenge option used in card unmasking.
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.ui.autofill
// GENERATED_JAVA_PREFIX_TO_STRIP: k
enum class CardUnmaskChallengeOptionType {};

// Indicates the position of the CVC, for example the front or back of the
// user's card.
enum class CvcPosition {};

// Metadata from the server related to a VCN 3DS challenge option.
struct Vcn3dsChallengeOptionMetadata {};

// The struct used by Autofill components to represent a card unmask challenge
// option. User must select a challenge option to unmask their credit card.
// Currently, only CVC and SMS OTP are supported.
struct CardUnmaskChallengeOption {};

}  // namespace autofill

#endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_PAYMENTS_CARD_UNMASK_CHALLENGE_OPTION_H_