chromium/components/optimization_guide/core/model_store_metadata_entry.h

// Copyright 2022 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_OPTIMIZATION_GUIDE_CORE_MODEL_STORE_METADATA_ENTRY_H_
#define COMPONENTS_OPTIMIZATION_GUIDE_CORE_MODEL_STORE_METADATA_ENTRY_H_

#include <optional>

#include "base/memory/raw_ptr.h"
#include "base/values.h"
#include "components/optimization_guide/proto/models.pb.h"
#include "components/prefs/scoped_user_pref_update.h"

namespace base {
class FilePath;
class Time;
}  // namespace base

class PrefService;

namespace optimization_guide {

class ModelStoreMetadataEntryUpdater;

// Encapsulates the lightweight metadata entry that is stored in local state
// prefs for one model in the model store. The model is represented by the key
// pair OptimizationTarget and hash of ModelCacheKey.
class ModelStoreMetadataEntry {};

// The pref updater for ModelStoreMetadataEntry.
class ModelStoreMetadataEntryUpdater : public ModelStoreMetadataEntry {};

}  // namespace optimization_guide

#endif  // COMPONENTS_OPTIMIZATION_GUIDE_CORE_MODEL_STORE_METADATA_ENTRY_H_