#ifndef CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_CLIENT_H_
#define CHROME_BROWSER_METRICS_CHROME_METRICS_SERVICE_CLIENT_H_
#include <stdint.h>
#include <memory>
#include <queue>
#include <string>
#include <string_view>
#include "base/callback_list.h"
#include "base/functional/callback.h"
#include "base/gtest_prod_util.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/scoped_multi_source_observation.h"
#include "base/scoped_observation.h"
#include "base/sequence_checker.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/metrics/incognito_observer.h"
#include "chrome/browser/metrics/metrics_memory_details.h"
#include "chrome/browser/privacy_budget/identifiability_study_state.h"
#include "chrome/browser/profiles/profile_manager_observer.h"
#include "components/metrics/file_metrics_provider.h"
#include "components/metrics/metrics_log_uploader.h"
#include "components/metrics/metrics_service_client.h"
#include "components/metrics/persistent_synthetic_trial_observer.h"
#include "components/omnibox/browser/omnibox_event_global_tracker.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/ukm/observers/history_delete_observer.h"
#include "components/ukm/observers/ukm_consent_state_observer.h"
#include "components/variations/synthetic_trial_registry.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_process_host_creation_observer.h"
#include "content/public/browser/render_process_host_observer.h"
#include "ppapi/buildflags/buildflags.h"
#include "third_party/metrics_proto/system_profile.pb.h"
#include "ui/base/user_activity/user_activity_detector.h"
#include "ui/base/user_activity/user_activity_observer.h"
class BrowserActivityWatcher;
class Profile;
class ProfileManager;
class PrefRegistrySimple;
namespace network_time {
class NetworkTimeTracker;
}
namespace metrics {
class MetricsService;
class MetricsStateManager;
#if BUILDFLAG(IS_CHROMEOS_ASH)
class PerUserStateManagerChromeOS;
#endif
}
class ChromeMetricsServiceClient
: public metrics::MetricsServiceClient,
public ukm::HistoryDeleteObserver,
public ukm::UkmConsentStateObserver,
public content::RenderProcessHostObserver,
public content::RenderProcessHostCreationObserver,
public ProfileManagerObserver,
public ui::UserActivityObserver { … };
#endif