// Copyright 2024 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_DATA_MODEL_CREDIT_CARD_BENEFIT_H_ #define COMPONENTS_AUTOFILL_CORE_BROWSER_DATA_MODEL_CREDIT_CARD_BENEFIT_H_ #include <string> #include "base/containers/flat_set.h" #include "base/time/time.h" #include "base/types/id_type.h" #include "base/types/strong_alias.h" #include "third_party/abseil-cpp/absl/types/variant.h" #include "url/origin.h" namespace autofill { class CreditCardFlatRateBenefit; class CreditCardCategoryBenefit; class CreditCardMerchantBenefit; // An object that stores card benefit information, i.e., a credit-card-linked // benefit that users receive when making an online purchase. CreditCardBenefit; class CreditCardBenefitBase { … }; // Credit-card-linked benefit that is available to users on any online // purchases. class CreditCardFlatRateBenefit : public CreditCardBenefitBase { … }; // Credit-card-linked benefit that users receive when making an online purchases // in specific shopping categories. For example, a benefit the user will receive // for purchasing a subscription service online with the linked card. class CreditCardCategoryBenefit : public CreditCardBenefitBase { … }; // Credit-card-linked benefit that users receive when purchasing from specific // merchant websites. class CreditCardMerchantBenefit : public CreditCardBenefitBase { … }; } // namespace autofill #endif // COMPONENTS_AUTOFILL_CORE_BROWSER_DATA_MODEL_CREDIT_CARD_BENEFIT_H_