chromium/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_config_manager.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 CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_TELEMETRY_CONFIG_MANAGER_H_
#define CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_TELEMETRY_CONFIG_MANAGER_H_

#include "base/memory/raw_ptr.h"
#include "base/values.h"
#include "extensions/common/extension_id.h"

class PrefService;

namespace safe_browsing {

enum class ExtensionSignalType;
class ExtensionTelemetryReportResponse_Configuration;

// The ExtensionTelemetryConfigManager manages the configuration of the
// Extension Telemetry Service. Configuration data includes items such as:
//   - how often telemetry reports are uploaded
//   - how often telemetry reports are persisted to disk
//   - which extensions and signals are to be included in telemetry
//     reports
// ExtensionTelemetryConfigManager persists the configuration data using
// Chrome's pref service. It also provides methods to look up this data.
// This object is instantiated and owned by the ExtensionTelemetryService
// and lives on the Browser UI thread.
class ExtensionTelemetryConfigManager {};

}  // namespace safe_browsing

#endif  // CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_TELEMETRY_CONFIG_MANAGER_H_