using System;
using Newtonsoft.Json.Linq;

namespace NightScout
{
    public interface INightscoutDataSource
    {
        event Action Connected;
        event Action<Object> DataUpdate;
        event Action<Object> SocketError;
        event Action<Object> Alarm;
        event Action<Object> UrgentAlarm;
        event Action<Object> ClearAlarm;
        event Action StaleDataAlarm;
        void Emit(String eventName, String data);
        void Emit(String eventName, JObject data);
        void Authorize();
    }
}