diff --git a/src/gpio-presence/config_provider.hpp b/src/gpio-presence/config_provider.hpp
new file mode 100644
index 0000000..4bacfc7
--- /dev/null
+++ b/src/gpio-presence/config_provider.hpp
@@ -0,0 +1,43 @@
+/*
+ * SPDX-FileCopyrightText: Copyright (c) 2022-2024. All rights
+ * reserved. SPDX-License-Identifier: Apache-2.0
+ */
+#pragma once
+
+#include <sdbusplus/async/context.hpp>
+#include <sdbusplus/async/task.hpp>
+
+namespace gpio_presence
+{
+
+using AddedCallback =
+    std::function<void(const sdbusplus::message::object_path&)>;
+
+using RemovedCallback =
+    std::function<void(const sdbusplus::message::object_path&)>;
+
+class ConfigProvider
+{
+  public:
+    explicit ConfigProvider(sdbusplus::async::context& ctx,
+                            const std::string& interface);
+
+    auto initialize(AddedCallback addConfig, RemovedCallback removeConfig)
+        -> sdbusplus::async::task<void>;
+
+  private:
+    auto getConfig(AddedCallback addConfig) -> sdbusplus::async::task<void>;
+
+    auto handleInterfacesAdded(AddedCallback addConfig)
+        -> sdbusplus::async::task<void>;
+
+    auto handleInterfacesRemoved(RemovedCallback removeConfig)
+        -> sdbusplus::async::task<void>;
+
+    // name of the dbus configuration interface
+    std::string interface;
+
+    sdbusplus::async::context& ctx;
+};
+
+} // namespace gpio_presence
