#ifndef CHROME_BROWSER_EXTENSIONS_API_STORAGE_SETTINGS_SYNC_UTIL_H_
#define CHROME_BROWSER_EXTENSIONS_API_STORAGE_SETTINGS_SYNC_UTIL_H_
#include <string>
#include "base/functional/callback_forward.h"
#include "base/memory/weak_ptr.h"
#include "components/sync/model/sync_change.h"
#include "components/sync/model/sync_data.h"
#include "extensions/common/extension_id.h"
namespace base {
class Value;
}
namespace content {
class BrowserContext;
}
namespace syncer {
class SyncableService;
}
namespace extensions {
namespace settings_sync_util {
syncer::SyncData CreateData(const ExtensionId& extension_id,
const std::string& key,
const base::Value& value,
syncer::DataType type);
syncer::SyncChange CreateAdd(const ExtensionId& extension_id,
const std::string& key,
const base::Value& value,
syncer::DataType type);
syncer::SyncChange CreateUpdate(const ExtensionId& extension_id,
const std::string& key,
const base::Value& value,
syncer::DataType type);
syncer::SyncChange CreateDelete(const ExtensionId& extension_id,
const std::string& key,
syncer::DataType type);
base::OnceCallback<base::WeakPtr<syncer::SyncableService>()>
GetSyncableServiceProvider(content::BrowserContext* context,
syncer::DataType type);
}
}
#endif