using System; using System.Collections.Generic; using System.Threading.Tasks; using MQTTnet.Core.Packets; namespace MQTTnet.Core.Client { public interface IMqttClient { bool IsConnected { get; } event EventHandler ApplicationMessageReceived; event EventHandler Connected; event EventHandler Disconnected; Task ConnectAsync(MqttApplicationMessage willApplicationMessage = null); Task DisconnectAsync(); Task> SubscribeAsync(IEnumerable topicFilters); Task UnsubscribeAsync(IEnumerable topicFilters); Task PublishAsync(IEnumerable applicationMessages); } }