namespace NadekoBot.Common; public interface IPubSub { public Task Pub(in TypedKey key, TData data) where TData : notnull; public Task Sub(in TypedKey key, Func action) where TData : notnull; }