#ifndef CHROME_BROWSER_EXTENSIONS_API_BROWSING_DATA_BROWSING_DATA_API_H_
#define CHROME_BROWSER_EXTENSIONS_API_BROWSING_DATA_BROWSING_DATA_API_H_
#include <memory>
#include <vector>
#include "base/memory/raw_ptr.h"
#include "base/scoped_observation.h"
#include "base/time/time.h"
#include "base/types/expected.h"
#include "components/browsing_data/core/browsing_data_utils.h"
#include "components/signin/core/browser/account_reconcilor.h"
#include "content/public/browser/browsing_data_filter_builder.h"
#include "content/public/browser/browsing_data_remover.h"
#include "extensions/browser/extension_function.h"
class PrefService;
namespace extension_browsing_data_api_constants {
inline constexpr char kDataRemovalPermittedKey[] = …;
inline constexpr char kDataToRemoveKey[] = …;
inline constexpr char kOptionsKey[] = …;
inline constexpr char kCacheKey[] = …;
inline constexpr char kCookiesKey[] = …;
inline constexpr char kDownloadsKey[] = …;
inline constexpr char kFileSystemsKey[] = …;
inline constexpr char kFormDataKey[] = …;
inline constexpr char kHistoryKey[] = …;
inline constexpr char kIndexedDBKey[] = …;
inline constexpr char kLocalStorageKey[] = …;
inline constexpr char kPasswordsKey[] = …;
inline constexpr char kPluginDataKeyDeprecated[] = …;
inline constexpr char kServiceWorkersKey[] = …;
inline constexpr char kCacheStorageKey[] = …;
inline constexpr char kWebSQLKey[] = …;
inline constexpr char kExtensionsKey[] = …;
inline constexpr char kOriginTypesKey[] = …;
inline constexpr char kProtectedWebKey[] = …;
inline constexpr char kSinceKey[] = …;
inline constexpr char kOriginsKey[] = …;
inline constexpr char kExcludeOriginsKey[] = …;
inline constexpr char kUnprotectedWebKey[] = …;
inline constexpr char kBadDataTypeDetails[] = …;
inline constexpr char kDeleteProhibitedError[] = …;
inline constexpr char kNonFilterableError[] = …;
inline constexpr char kIncompatibleFilterError[] = …;
inline constexpr char kInvalidOriginError[] = …;
}
class BrowsingDataSettingsFunction : public ExtensionFunction { … };
class BrowsingDataRemoverFunction
: public ExtensionFunction,
public content::BrowsingDataRemover::Observer { … };
class BrowsingDataRemoveAppcacheFunction : public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveFunction : public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveCacheFunction : public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveCookiesFunction : public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveDownloadsFunction : public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveFileSystemsFunction
: public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveFormDataFunction : public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveHistoryFunction : public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveIndexedDBFunction : public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveLocalStorageFunction
: public BrowsingDataRemoverFunction { … };
class BrowsingDataRemovePluginDataFunction
: public BrowsingDataRemoverFunction { … };
class BrowsingDataRemovePasswordsFunction : public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveServiceWorkersFunction
: public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveCacheStorageFunction
: public BrowsingDataRemoverFunction { … };
class BrowsingDataRemoveWebSQLFunction : public BrowsingDataRemoverFunction { … };
#endif