chromium/components/visited_url_ranking/internal/transformer/url_visit_aggregates_segmentation_metrics_transformer.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_VISITED_URL_RANKING_INTERNAL_TRANSFORMER_URL_VISIT_AGGREGATES_SEGMENTATION_METRICS_TRANSFORMER_H_
#define COMPONENTS_VISITED_URL_RANKING_INTERNAL_TRANSFORMER_URL_VISIT_AGGREGATES_SEGMENTATION_METRICS_TRANSFORMER_H_

#include <vector>

#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "components/segmentation_platform/public/database_client.h"
#include "components/visited_url_ranking/public/url_visit.h"
#include "components/visited_url_ranking/public/url_visit_aggregates_transformer.h"

namespace segmentation_platform {

class SegmentationPlatformService;

}  // namespace segmentation_platform

namespace visited_url_ranking {

// The number of day ranges fo which `URLVisitAggregate` user interaction
// metrics will be computed (e.g., 1 day, 7 days, 30 days).
inline constexpr int kUserInteractionMetricsCollectionNumDayRanges =;

// The number of days preceding the current time for which user interaction
// metrics are collected.
inline constexpr std::array<int, kUserInteractionMetricsCollectionNumDayRanges>
    kAggregateMetricDayRanges =;

class URLVisitAggregatesSegmentationMetricsTransformer
    : public URLVisitAggregatesTransformer {};

}  // namespace visited_url_ranking

#endif  // COMPONENTS_VISITED_URL_RANKING_INTERNAL_TRANSFORMER_URL_VISIT_AGGREGATES_SEGMENTATION_METRICS_TRANSFORMER_H_