#ifndef COMPONENTS_OPTIMIZATION_GUIDE_CORE_MODEL_EXECUTION_TEST_FEATURE_CONFIG_BUILDER_H_
#define COMPONENTS_OPTIMIZATION_GUIDE_CORE_MODEL_EXECUTION_TEST_FEATURE_CONFIG_BUILDER_H_
#include <initializer_list>
#include <optional>
#include <string>
#include "components/optimization_guide/proto/descriptors.pb.h"
#include "components/optimization_guide/proto/on_device_model_execution_config.pb.h"
#include "components/optimization_guide/proto/redaction.pb.h"
#include "components/optimization_guide/proto/text_safety_model_metadata.pb.h"
namespace optimization_guide {
proto::SafetyCategoryThreshold ForbidUnsafe();
proto::SafetyCategoryThreshold RequireReasonable();
proto::ProtoField ProtoField(std::initializer_list<int32_t> tags);
proto::ProtoField PageUrlField();
proto::ProtoField UserInputField();
proto::ProtoField PreviousResponseField();
proto::ProtoField OutputField();
proto::ProtoField StringValueField();
proto::SubstitutedString FieldSubstitution(const std::string& tmpl,
proto::ProtoField&& field);
proto::SubstitutedString PageUrlSubstitution();
proto::RedactRules SimpleRedactRule(
const std::string& regex,
proto::RedactBehavior behavior =
proto::RedactBehavior::REDACT_IF_ONLY_IN_OUTPUT,
std::optional<std::string> replacement = std::nullopt);
proto::OnDeviceModelExecutionFeatureConfig SimpleComposeConfig();
proto::FeatureTextSafetyConfiguration ComposeSafetyConfig();
inline proto::OnDeviceModelValidationConfig WillPassValidationConfig() { … }
inline proto::OnDeviceModelValidationConfig WillFailValidationConfig() { … }
inline auto Int32Proto(int32_t value) { … }
inline auto Int64Proto(int64_t value) { … }
proto::TextSafetyModelMetadata SafetyMetadata(
std::initializer_list<proto::FeatureTextSafetyConfiguration> configs);
}
#endif