#ifndef COMPONENTS_UPDATE_CLIENT_OP_DOWNLOAD_H_
#define COMPONENTS_UPDATE_CLIENT_OP_DOWNLOAD_H_
#include <cstdint>
#include <string>
#include <vector>
#include "base/functional/callback_forward.h"
#include "base/memory/scoped_refptr.h"
#include "base/types/expected.h"
#include "base/values.h"
#include "components/update_client/crx_downloader.h"
#include "components/update_client/update_engine.h"
namespace base {
class FilePath;
}
namespace update_client {
struct CategorizedError;
base::OnceClosure DownloadOperation(
scoped_refptr<const UpdateContext> update_context,
const std::vector<GURL>& urls,
int64_t size,
const std::string& hash,
base::RepeatingCallback<void(base::Value::Dict)> event_adder,
CrxDownloader::ProgressCallback progress_callback,
base::OnceCallback<void(
const base::expected<base::FilePath, CategorizedError>&)> callback);
}
#endif