#ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_AUTOFILL_HELPER_H_
#define CHROME_BROWSER_SYNC_TEST_INTEGRATION_AUTOFILL_HELPER_H_
#include <set>
#include <string>
#include <vector>
#include "chrome/browser/sync/test/integration/multi_client_status_change_checker.h"
#include "components/autofill/core/browser/address_data_manager.h"
#include "components/autofill/core/browser/data_model/autofill_structured_address_component.h"
#include "components/autofill/core/browser/personal_data_manager_observer.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace autofill {
class AutocompleteKey;
class AutofillProfile;
class CreditCard;
class PersonalDataManager;
}
namespace autofill_helper {
enum ProfileType { … };
[[nodiscard]] autofill::PersonalDataManager* GetPersonalDataManager(int index);
void AddKeys(int profile, const std::set<autofill::AutocompleteKey>& keys);
void RemoveKey(int profile, const autofill::AutocompleteKey& key);
void RemoveKeys(int profile);
[[nodiscard]] std::set<autofill::AutocompleteKey> GetAllKeys(int profile);
[[nodiscard]] bool KeysMatch(int profile_a, int profile_b);
void SetCreditCards(int profile,
std::vector<autofill::CreditCard>* credit_cards);
void AddProfile(int profile, const autofill::AutofillProfile& autofill_profile);
void RemoveProfile(int profile, const std::string& guid);
void UpdateProfile(int profile,
const std::string& guid,
autofill::FieldType type,
const std::u16string& value,
autofill::VerificationStatus status =
autofill::VerificationStatus::kObserved);
[[nodiscard]] std::vector<const autofill::AutofillProfile*>
GetAllAutoFillProfiles(int profile);
size_t GetProfileCount(int profile);
size_t GetKeyCount(int profile);
[[nodiscard]] bool ProfilesMatch(int profile_a, int profile_b);
autofill::AutofillProfile CreateAutofillProfile(ProfileType type);
autofill::AutofillProfile CreateUniqueAutofillProfile();
}
class AutocompleteKeysChecker : public MultiClientStatusChangeChecker { … };
class AutofillProfileChecker : public StatusChangeChecker,
public autofill::AddressDataManager::Observer { … };
#endif