chromium/components/history_clusters/core/history_clusters_types.h

// Copyright 2021 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_HISTORY_CLUSTERS_CORE_HISTORY_CLUSTERS_TYPES_H_
#define COMPONENTS_HISTORY_CLUSTERS_CORE_HISTORY_CLUSTERS_TYPES_H_

#include <string>
#include <vector>

#include "base/containers/flat_set.h"
#include "base/functional/callback.h"
#include "components/history/core/browser/history_types.h"

namespace history_clusters {

// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum class ClusteringRequestSource {};

struct QueryClustersFilterParams {};

struct QueryClustersContinuationParams {};

QueryClustersCallback;

// Tracks which fields have been or are pending recording. This helps 1) avoid
// re-recording fields and 2) determine whether a visit is complete (i.e. has
// all expected fields recorded).
struct RecordingStatus {};

// A partially built VisitContextAnnotations with its state of completeness and
// associated `URLRow` and `VisitRow` which are necessary to build it.
struct IncompleteVisitContextAnnotations {};

// Used to track incomplete, unpersisted visits.
IncompleteVisitMap;

}  // namespace history_clusters

#endif  // COMPONENTS_HISTORY_CLUSTERS_CORE_HISTORY_CLUSTERS_TYPES_H_