using System;
using System.Threading.Tasks;
namespace LANCommander.SDK.Services;
public interface IConnectionClient
{
public event EventHandler OnConnect;
public event EventHandler OnDisconnect;
public event EventHandler OnServerAddressChanged;
public event EventHandler OnOfflineModeEnabled;
public bool IsConnected();
public bool IsConfigured();
public bool IsOfflineMode();
public bool HasServerAddress();
public Uri GetServerAddress();
///
/// Set the server address to use for all API requests. Address is validated and checked for validity.
///
/// The address to resolve for a LANCommander server
public Task UpdateServerAddressAsync(string address);
public Task UpdateServerAddressAsync(Uri address);
public Task ConnectAsync();
public Task DisconnectAsync();
public Task EnableOfflineModeAsync();
public Task PingAsync(Uri serverAddress = null);
}