namespace BPA.SingleDevice.Services
{
    public interface ILogService
    {
        ObservableCollection<RunLogTB> RunLogs { get; set; }
        ObservableCollection<UserLogTB> UserLogs { get; set; }
        ObservableCollection<RecipeCompleteLogTB> RecipeCompleteLogs { get; set; }
        ObservableCollection<AlarmLogTB> AlarmLogs { get; set; }
        ObservableCollection<DebugLogTB> DebugLogs { get; set; }

        void LogAlarmInfo(string info);

        void LogUserInfo(string info, string userName = "");

        void LogRunInfo(string info);

        void LogRecipeCompleteInfo(string info);

        void LogDebugInfo(string info);

        Task<List<T>> GetAllLog<T>() where T : LogBase;
    }
}