chromium/out/Default/gen/chrome/common/extensions/api/history.h

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// GENERATED FROM THE API DEFINITION IN
//   chrome/common/extensions/api/history.json
// by tools/json_schema_compiler.
// DO NOT EDIT.

#ifndef CHROME_COMMON_EXTENSIONS_API_HISTORY_H__
#define CHROME_COMMON_EXTENSIONS_API_HISTORY_H__

#include <stdint.h>

#include <map>
#include <memory>
#include <optional>
#include <string>
#include <vector>

#include "base/values.h"
#include <string_view>


namespace extensions {
namespace api {
namespace history {

//
// Types
//

// The <a href='#transition_types'>transition type</a> for this visit from its
// referrer.
enum class TransitionType {};


const char* ToString(TransitionType as_enum);
TransitionType ParseTransitionType(std::string_view as_string);
std::u16string GetTransitionTypeParseError(std::string_view as_string);

// An object encapsulating one result of a history query.
struct HistoryItem {};

// An object encapsulating one visit to a URL.
struct VisitItem {};

struct UrlDetails {};


//
// Functions
//

namespace Search {

struct Params {};

namespace Results {

base::Value::List Create(const std::vector<HistoryItem>& results);
}  // namespace Results

}  // namespace Search

namespace GetVisits {

struct Params {};

namespace Results {

base::Value::List Create(const std::vector<VisitItem>& results);
}  // namespace Results

}  // namespace GetVisits

namespace AddUrl {

struct Params {};

namespace Results {

base::Value::List Create();
}  // namespace Results

}  // namespace AddUrl

namespace DeleteUrl {

struct Params {};

namespace Results {

base::Value::List Create();
}  // namespace Results

}  // namespace DeleteUrl

namespace DeleteRange {

struct Params {};

namespace Results {

base::Value::List Create();
}  // namespace Results

}  // namespace DeleteRange

namespace DeleteAll {

namespace Results {

base::Value::List Create();
}  // namespace Results

}  // namespace DeleteAll

//
// Events
//

namespace OnVisited {

extern const char kEventName[];  // "history.onVisited"

base::Value::List Create(const HistoryItem& result);
}  // namespace OnVisited

namespace OnVisitRemoved {

extern const char kEventName[];  // "history.onVisitRemoved"

struct Removed {};


base::Value::List Create(const Removed& removed);
}  // namespace OnVisitRemoved

}  // namespace history
}  // namespace api
}  // namespace extensions

#endif  // CHROME_COMMON_EXTENSIONS_API_HISTORY_H__