diff --git a/src/profiling/ConnectionAcknowledgedCommandHandler.hpp b/src/profiling/ConnectionAcknowledgedCommandHandler.hpp
index 05559a3..6054306 100644
--- a/src/profiling/ConnectionAcknowledgedCommandHandler.hpp
+++ b/src/profiling/ConnectionAcknowledgedCommandHandler.hpp
@@ -7,7 +7,7 @@
 
 #include "CommandHandlerFunctor.hpp"
 #include "ISendCounterPacket.hpp"
-#include "ISendTimelinePacket.hpp"
+#include "armnn/profiling/ISendTimelinePacket.hpp"
 #include "Packet.hpp"
 #include "ProfilingStateMachine.hpp"
 
diff --git a/src/profiling/IProfilingGuidGenerator.hpp b/src/profiling/IProfilingGuidGenerator.hpp
deleted file mode 100644
index fb9f740..0000000
--- a/src/profiling/IProfilingGuidGenerator.hpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// Copyright © 2019 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include <armnn/Types.hpp>
-
-#include <string>
-
-namespace armnn
-{
-
-namespace profiling
-{
-
-class IProfilingGuidGenerator
-{
-public:
-    /// Return the next random Guid in the sequence
-    virtual ProfilingDynamicGuid NextGuid() = 0;
-
-    /// Create a ProfilingStaticGuid based on a hash of the string
-    virtual ProfilingStaticGuid GenerateStaticId(const std::string& str) = 0;
-
-    virtual ~IProfilingGuidGenerator() {}
-};
-
-} // namespace profiling
-
-} // namespace armnn
diff --git a/src/profiling/ISendTimelinePacket.hpp b/src/profiling/ISendTimelinePacket.hpp
deleted file mode 100644
index a954134..0000000
--- a/src/profiling/ISendTimelinePacket.hpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// Copyright © 2019 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#pragma once
-
-#include "ProfilingUtils.hpp"
-
-#include <algorithm>
-#include <string>
-#include <vector>
-#include <thread>
-
-namespace armnn
-{
-
-namespace profiling
-{
-
-class ISendTimelinePacket
-{
-public:
-    virtual ~ISendTimelinePacket() {}
-
-    /// Commits the current buffer and reset the member variables
-    virtual void Commit() = 0;
-
-    /// Create and write a TimelineEntityBinaryPacket from the parameters to the buffer.
-    virtual void SendTimelineEntityBinaryPacket(uint64_t profilingGuid) = 0;
-
-    /// Create and write a TimelineEventBinaryPacket from the parameters to the buffer.
-    virtual void SendTimelineEventBinaryPacket(uint64_t timestamp,
-                                               std::thread::id threadId,
-                                               uint64_t profilingGuid) = 0;
-
-    /// Create and write a TimelineEventClassBinaryPacket from the parameters to the buffer.
-    virtual void SendTimelineEventClassBinaryPacket(uint64_t profilingGuid) = 0;
-
-    /// Create and write a TimelineLabelBinaryPacket from the parameters to the buffer.
-    virtual void SendTimelineLabelBinaryPacket(uint64_t profilingGuid, const std::string& label) = 0;
-
-    /// Create and write a TimelineMessageDirectoryPackage in the buffer
-    virtual void SendTimelineMessageDirectoryPackage() = 0;
-
-    /// Create and write a TimelineRelationshipBinaryPacket from the parameters to the buffer.
-    virtual void SendTimelineRelationshipBinaryPacket(ProfilingRelationshipType relationshipType,
-                                                      uint64_t relationshipGuid,
-                                                      uint64_t headGuid,
-                                                      uint64_t tailGuid) = 0;
-};
-
-} // namespace profiling
-
-} // namespace armnn
-
diff --git a/src/profiling/ProfilingGuidGenerator.hpp b/src/profiling/ProfilingGuidGenerator.hpp
index 97de4a8..a319035 100644
--- a/src/profiling/ProfilingGuidGenerator.hpp
+++ b/src/profiling/ProfilingGuidGenerator.hpp
@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "IProfilingGuidGenerator.hpp"
+#include "armnn/profiling/IProfilingGuidGenerator.hpp"
 
 #include <functional>
 
diff --git a/src/profiling/ProfilingUtils.hpp b/src/profiling/ProfilingUtils.hpp
index 9bbe421..a63f255 100644
--- a/src/profiling/ProfilingUtils.hpp
+++ b/src/profiling/ProfilingUtils.hpp
@@ -6,6 +6,7 @@
 #pragma once
 
 #include <armnn/Exceptions.hpp>
+#include <armnn/profiling/ISendTimelinePacket.hpp>
 
 #include "ICounterDirectory.hpp"
 #include "IPacketBuffer.hpp"
@@ -16,8 +17,8 @@
 #include <cstring>
 #include <memory>
 #include <string>
-#include <vector>
 #include <thread>
+#include <vector>
 
 namespace armnn
 {
@@ -197,14 +198,6 @@
     BufferExhaustion
 };
 
-enum class ProfilingRelationshipType
-{
-    RetentionLink,    /// Head retains(parents) Tail
-    ExecutionLink,    /// Head execution start depends on Tail execution completion
-    DataLink,         /// Head uses data of Tail
-    LabelLink         /// Head uses label Tail (Tail MUST be a guid of a label).
-};
-
 uint32_t CalculateSizeOfPaddedSwString(const std::string& str);
 
 SwTraceMessage ReadSwTraceMessage(const unsigned char*, unsigned int& offset);
diff --git a/src/profiling/RequestCounterDirectoryCommandHandler.hpp b/src/profiling/RequestCounterDirectoryCommandHandler.hpp
index 99c0352..9ceca3f 100644
--- a/src/profiling/RequestCounterDirectoryCommandHandler.hpp
+++ b/src/profiling/RequestCounterDirectoryCommandHandler.hpp
@@ -7,7 +7,7 @@
 
 #include "CommandHandlerFunctor.hpp"
 #include "ISendCounterPacket.hpp"
-#include "ISendTimelinePacket.hpp"
+#include "armnn/profiling/ISendTimelinePacket.hpp"
 #include "Packet.hpp"
 #include "ProfilingStateMachine.hpp"
 
diff --git a/src/profiling/SendTimelinePacket.hpp b/src/profiling/SendTimelinePacket.hpp
index 4b2e063..737a1aa 100644
--- a/src/profiling/SendTimelinePacket.hpp
+++ b/src/profiling/SendTimelinePacket.hpp
@@ -6,7 +6,7 @@
 #pragma once
 
 #include "IBufferManager.hpp"
-#include "ISendTimelinePacket.hpp"
+#include "armnn/profiling/ISendTimelinePacket.hpp"
 #include "ProfilingUtils.hpp"
 
 #include <boost/assert.hpp>
diff --git a/src/profiling/TimelinePacketWriterFactory.hpp b/src/profiling/TimelinePacketWriterFactory.hpp
index 1bbd3fd..a1e9945 100644
--- a/src/profiling/TimelinePacketWriterFactory.hpp
+++ b/src/profiling/TimelinePacketWriterFactory.hpp
@@ -6,7 +6,7 @@
 #pragma once
 
 #include "IBufferManager.hpp"
-#include "ISendTimelinePacket.hpp"
+#include "armnn/profiling/ISendTimelinePacket.hpp"
 
 #include <memory>
 
diff --git a/src/profiling/TimelineUtilityMethods.hpp b/src/profiling/TimelineUtilityMethods.hpp
index 5b00ec8..c33dd92 100644
--- a/src/profiling/TimelineUtilityMethods.hpp
+++ b/src/profiling/TimelineUtilityMethods.hpp
@@ -5,7 +5,7 @@
 
 #pragma once
 
-#include "ISendTimelinePacket.hpp"
+#include "armnn/profiling/ISendTimelinePacket.hpp"
 #include <armnn/Types.hpp>
 
 namespace armnn
