#ifndef CONTENT_BROWSER_AGGREGATION_SERVICE_AGGREGATABLE_REPORT_H_
#define CONTENT_BROWSER_AGGREGATION_SERVICE_AGGREGATABLE_REPORT_H_
#include <stddef.h>
#include <stdint.h>
#include <limits>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
#include "base/containers/flat_map.h"
#include "base/containers/span.h"
#include "base/notreached.h"
#include "base/numerics/checked_math.h"
#include "base/numerics/safe_conversions.h"
#include "base/time/time.h"
#include "base/uuid.h"
#include "base/values.h"
#include "content/browser/aggregation_service/public_key.h"
#include "content/common/content_export.h"
#include "third_party/blink/public/mojom/aggregation_service/aggregatable_report.mojom.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace content {
class AggregatableReportRequest;
struct CONTENT_EXPORT AggregationServicePayloadContents { … };
struct CONTENT_EXPORT AggregatableReportSharedInfo { … };
class CONTENT_EXPORT AggregatableReport { … };
class CONTENT_EXPORT AggregatableReportRequest { … };
CONTENT_EXPORT GURL GetAggregationServiceProcessingUrl(const url::Origin&);
CONTENT_EXPORT std::vector<uint8_t> EncryptAggregatableReportPayloadWithHpke(
base::span<const uint8_t> report_payload_plaintext,
base::span<const uint8_t> public_key,
base::span<const uint8_t> report_authenticated_info);
}
#endif