diff --git a/src/types/trigger_types.hpp b/src/types/trigger_types.hpp
index b21e8eb..778a9a1 100644
--- a/src/types/trigger_types.hpp
+++ b/src/types/trigger_types.hpp
@@ -1,5 +1,6 @@
 #pragma once
 
+#include "types/sensor_types.hpp"
 #include "utils/conversion.hpp"
 #include "utils/labeled_tuple.hpp"
 #include "utils/tstring.hpp"
@@ -31,6 +32,11 @@
     return utils::toEnum(details::convDataTriggerAction, str);
 }
 
+inline std::string actionToString(TriggerAction v)
+{
+    return std::string(utils::enumToString(details::convDataTriggerAction, v));
+}
+
 namespace discrete
 {
 
@@ -132,14 +138,6 @@
                         utils::tstring::ThresholdValue>;
 } // namespace numeric
 
-using SensorsInfo =
-    std::vector<std::pair<sdbusplus::message::object_path, std::string>>;
-
-using LabeledSensorInfo =
-    utils::LabeledTuple<std::tuple<std::string, std::string, std::string>,
-                        utils::tstring::Service, utils::tstring::SensorPath,
-                        utils::tstring::Metadata>;
-
 using TriggerThresholdParamsExt =
     std::variant<std::monostate, std::vector<numeric::ThresholdParam>,
                  std::vector<discrete::ThresholdParam>>;
@@ -152,6 +150,10 @@
     std::variant<std::vector<numeric::LabeledThresholdParam>,
                  std::vector<discrete::LabeledThresholdParam>>;
 
+using LabeledThresholdParam =
+    std::variant<std::monostate, numeric::LabeledThresholdParam,
+                 discrete::LabeledThresholdParam>;
+
 inline bool
     isTriggerThresholdDiscrete(const LabeledTriggerThresholdParams& params)
 {
