chromium/components/segmentation_platform/public/database_client.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 COMPONENTS_SEGMENTATION_PLATFORM_PUBLIC_DATABASE_CLIENT_H_
#define COMPONENTS_SEGMENTATION_PLATFORM_PUBLIC_DATABASE_CLIENT_H_

#include <cstdint>
#include <string>
#include <string_view>

#include "base/functional/callback_forward.h"
#include "base/time/time.h"
#include "base/types/id_type.h"
#include "components/segmentation_platform/public/model_provider.h"
#include "components/segmentation_platform/public/proto/model_metadata.pb.h"

namespace segmentation_platform {

UkmEventHash;
UkmMetricHash;

// Experimental database API for storing and retrieving signals from the
// segmentation databases. The API may change in the future, without breaking
// clients as possible. The API allows querying all the data from segmentation
// databases, which include UMA, user action, and UKM metrics. The metrics
// needed to be queried should be registered in `DatabaseApiClients` in
// `kRegisteredCustomEvents`.
class DatabaseClient {};

}  // namespace segmentation_platform

#endif  // COMPONENTS_SEGMENTATION_PLATFORM_PUBLIC_DATABASE_CLIENT_H_