diff --git a/Scrubbler.PluginBase/Discord/IDiscordRichPresence.cs b/Scrubbler.PluginBase/Discord/IDiscordRichPresence.cs
new file mode 100644
index 0000000..0411e14
--- /dev/null
+++ b/Scrubbler.PluginBase/Discord/IDiscordRichPresence.cs
@@ -0,0 +1,15 @@
+namespace Scrubbler.PluginBase.Discord
+{
+ public interface IDiscordRichPresence
+ {
+ ///
+ /// Publishes presence state to the host.
+ ///
+ void Publish(NowPlayingPresence presence);
+
+ ///
+ /// Clears the current presence.
+ ///
+ void Clear();
+ }
+}
diff --git a/Scrubbler.PluginBase/Discord/NowPlayingPresence.cs b/Scrubbler.PluginBase/Discord/NowPlayingPresence.cs
new file mode 100644
index 0000000..a3fe42f
--- /dev/null
+++ b/Scrubbler.PluginBase/Discord/NowPlayingPresence.cs
@@ -0,0 +1,11 @@
+namespace Scrubbler.PluginBase.Discord
+{
+ public sealed record NowPlayingPresence(
+ string Details,
+ string? State = null,
+ string? LargeImageKey = null,
+ string? LargeImageText = null,
+ string? SmallImageKey = null,
+ string? SmallImageText = null,
+ DateTimeOffset? StartTimestamp = null);
+}
diff --git a/Scrubbler.PluginBase/Scrubbler.PluginBase.csproj b/Scrubbler.PluginBase/Scrubbler.PluginBase.csproj
index 0b6f6fc..1c48b3f 100644
--- a/Scrubbler.PluginBase/Scrubbler.PluginBase.csproj
+++ b/Scrubbler.PluginBase/Scrubbler.PluginBase.csproj
@@ -11,8 +11,8 @@
Library
- 0.1.0
- 0.1.0
+ 1.0.0
+ 1.0.0
Scrubbler.PluginBase