using Castle.Core.Logging; namespace Pilz.Net.Api; public interface IApiServer { public delegate void OnCheckAuthenticationEventHandler(object sender, ApiAuthCheckEventArgs e); event OnCheckAuthenticationEventHandler? OnCheckAuthentication; string ApiUrl { get; } bool EnableAuth { get; set; } IMessageSerializer Serializer { get; } ILogger Log { get; set; } void Start(); void Stop(); void RegisterHandler(T instance) where T : class; void RegisterHandler(Delegate handler); }