chromium/components/privacy_sandbox/privacy_sandbox_notice_storage.h

// 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_PRIVACY_SANDBOX_PRIVACY_SANDBOX_NOTICE_STORAGE_H_
#define COMPONENTS_PRIVACY_SANDBOX_PRIVACY_SANDBOX_NOTICE_STORAGE_H_

#include <optional>
#include <string>

#include "base/no_destructor.h"
#include "base/time/time.h"
#include "components/prefs/pref_registry_simple.h"

class PrefService;

namespace privacy_sandbox {

// Startup states
// LINT.IfChange(NoticeStartupState)
enum class NoticeStartupState {};
// LINT.ThenChange(//tools/metrics/histograms/enums.xml:PrivacySandboxNoticeStartupState)

// Different notice actions.
// LINT.IfChange(NoticeActionTaken)
enum class NoticeActionTaken {};
// LINT.ThenChange(//tools/metrics/histograms/enums.xml:PrivacySandboxNoticeAction)

// Different notice action outcomes.
// LINT.IfChange(NoticeActionBehavior)
enum class NoticeActionBehavior {};
// LINT.ThenChange(//tools/metrics/histograms/enums.xml:PrivacySandboxNoticeActionBehavior)

// Stores information about profile interactions on a notice.
struct PrivacySandboxNoticeData {};

class PrivacySandboxNoticeStorage {};

}  // namespace privacy_sandbox

#endif  // COMPONENTS_PRIVACY_SANDBOX_PRIVACY_SANDBOX_NOTICE_STORAGE_H_