#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_ADDRESS_SUGGESTION_GENERATOR_H_
#define COMPONENTS_AUTOFILL_CORE_BROWSER_ADDRESS_SUGGESTION_GENERATOR_H_
#include <string>
#include <vector>
#include "base/check_deref.h"
#include "base/containers/flat_map.h"
#include "base/memory/raw_ptr.h"
#include "components/autofill/core/browser/data_model/autofill_profile.h"
#include "components/autofill/core/browser/field_types.h"
#include "components/autofill/core/browser/metrics/log_event.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/autofill/core/browser/ui/suggestion.h"
#include "components/autofill/core/browser/ui/suggestion_type.h"
#include "components/autofill/core/common/aliases.h"
namespace autofill {
class AddressDataManager;
class AutofillClient;
class FormFieldData;
struct ProfilesToSuggestOptions { … };
std::vector<Suggestion> GetSuggestionsForProfiles(
const AutofillClient& client,
const FieldTypeSet& field_types,
const FormFieldData& trigger_field,
FieldType trigger_field_type,
SuggestionType suggestion_type,
AutofillSuggestionTriggerSource trigger_source);
Suggestion CreateManageAddressesSuggestion();
std::vector<raw_ptr<const AutofillProfile, VectorExperimental>>
GetProfilesToSuggestForTest(
const AddressDataManager& address_data,
FieldType trigger_field_type,
const std::u16string& field_contents,
bool field_is_autofilled,
const FieldTypeSet& field_types,
AutofillSuggestionTriggerSource trigger_source =
AutofillSuggestionTriggerSource::kFormControlElementClicked);
std::vector<Suggestion> CreateSuggestionsFromProfilesForTest(
const std::vector<raw_ptr<const AutofillProfile, VectorExperimental>>&
profiles,
const FieldTypeSet& field_types,
SuggestionType suggestion_type,
FieldType trigger_field_type,
uint64_t trigger_field_max_length,
bool is_off_the_record = false,
const std::string& app_locale = "en-US");
}
#endif