namespace LanMountainDesktop.AirAppSdk; /// /// Message bus for inter-AirApp communication. /// public interface IAirAppMessageBus { /// /// Publish a message to a topic. /// /// Message topic /// Message payload void Publish(string topic, object? payload = null); /// /// Subscribe to a topic. /// /// Message topic /// Message handler /// Subscription token IDisposable Subscribe(string topic, Action handler); /// /// Subscribe to a topic with typed payload. /// /// Payload type /// Message topic /// Typed message handler /// Subscription token IDisposable Subscribe(string topic, Action handler); }