chromium/components/commerce/core/discounts_storage.h

// Copyright 2023 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_COMMERCE_CORE_DISCOUNTS_STORAGE_H_
#define COMPONENTS_COMMERCE_CORE_DISCOUNTS_STORAGE_H_

#include <map>
#include <vector>

#include "base/check.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/ptr_util.h"
#include "base/scoped_observation.h"
#include "components/commerce/core/commerce_types.h"
#include "components/commerce/core/proto/discounts_db_content.pb.h"
#include "components/history/core/browser/history_service.h"
#include "components/history/core/browser/history_service_observer.h"
#include "components/history/core/browser/history_types.h"
#include "components/session_proto_db/session_proto_storage.h"

namespace commerce {

DiscountsContent;
DiscountsKeyAndValues;

extern const char kDiscountsFetchResultHistogramName[];

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class DiscountsFetchResult {};

class DiscountsStorage : public history::HistoryServiceObserver {};

}  // namespace commerce

#endif  // COMPONENTS_COMMERCE_CORE_DISCOUNTS_STORAGE_H_