chromium/out/Default/gen/chrome/common/extensions/api/autofill_private.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/autofill_private.idl
// by tools/json_schema_compiler.
// DO NOT EDIT.

#ifndef CHROME_COMMON_EXTENSIONS_API_AUTOFILL_PRIVATE_H__
#define CHROME_COMMON_EXTENSIONS_API_AUTOFILL_PRIVATE_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 autofill_private {

//
// Types
//

struct AccountInfo {};

// A copy of FieldType from chrome/common/extensions/api/autofill_private.idl
enum class FieldType {};


const char* ToString(FieldType as_enum);
FieldType ParseFieldType(std::string_view as_string);
std::u16string GetFieldTypeParseError(std::string_view as_string);

// The address record type. Describes where the address is stored.
enum class AddressRecordType {};


const char* ToString(AddressRecordType as_enum);
AddressRecordType ParseAddressRecordType(std::string_view as_string);
std::u16string GetAddressRecordTypeParseError(std::string_view as_string);

struct AutofillMetadata {};

struct AddressField {};

struct AddressEntry {};

struct CountryEntry {};

struct AddressComponent {};

struct AddressComponentRow {};

struct AddressComponents {};

struct CreditCardEntry {};

struct IbanEntry {};


//
// Functions
//

namespace GetAccountInfo {

namespace Results {

base::Value::List Create(const AccountInfo& account_info);
}  // namespace Results

}  // namespace GetAccountInfo

namespace SaveAddress {

struct Params {};

}  // namespace SaveAddress

namespace GetCountryList {

struct Params {};

namespace Results {

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

}  // namespace GetCountryList

namespace GetAddressComponents {

struct Params {};

namespace Results {

base::Value::List Create(const AddressComponents& components);
}  // namespace Results

}  // namespace GetAddressComponents

namespace GetAddressList {

namespace Results {

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

}  // namespace GetAddressList

namespace SaveCreditCard {

struct Params {};

}  // namespace SaveCreditCard

namespace SaveIban {

struct Params {};

}  // namespace SaveIban

namespace RemoveEntry {

struct Params {};

}  // namespace RemoveEntry

namespace GetCreditCardList {

namespace Results {

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

}  // namespace GetCreditCardList

namespace GetIbanList {

namespace Results {

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

}  // namespace GetIbanList

namespace IsValidIban {

struct Params {};

namespace Results {

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

}  // namespace IsValidIban

namespace MigrateCreditCards {

}  // namespace MigrateCreditCards

namespace LogServerCardLinkClicked {

}  // namespace LogServerCardLinkClicked

namespace AddVirtualCard {

struct Params {};

}  // namespace AddVirtualCard

namespace RemoveVirtualCard {

struct Params {};

}  // namespace RemoveVirtualCard

namespace AuthenticateUserAndFlipMandatoryAuthToggle {

}  // namespace AuthenticateUserAndFlipMandatoryAuthToggle

namespace GetLocalCard {

struct Params {};

namespace Results {

base::Value::List Create(const CreditCardEntry& card);
}  // namespace Results

}  // namespace GetLocalCard

namespace CheckIfDeviceAuthAvailable {

namespace Results {

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

}  // namespace CheckIfDeviceAuthAvailable

namespace BulkDeleteAllCvcs {

}  // namespace BulkDeleteAllCvcs

namespace SetAutofillSyncToggleEnabled {

struct Params {};

}  // namespace SetAutofillSyncToggleEnabled

//
// Events
//

namespace OnPersonalDataChanged {

extern const char kEventName[];  // "autofillPrivate.onPersonalDataChanged"

base::Value::List Create(const std::vector<AddressEntry>& address_entries, const std::vector<CreditCardEntry>& credit_card_entries, const std::vector<IbanEntry>& ibans, const AccountInfo& account_info);
}  // namespace OnPersonalDataChanged

}  // namespace autofill_private
}  // namespace api
}  // namespace extensions

#endif  // CHROME_COMMON_EXTENSIONS_API_AUTOFILL_PRIVATE_H__