using System.Collections.ObjectModel;
using ConeCalorimeter.Models;

namespace ConeCalorimeter.Services;

public interface IExperimentDataService
{
    ObservableCollection<RealtimeDataRecord> Records { get; }

    RealtimeSnapshot CurrentSnapshot { get; }

    bool IsHeatReleaseCorrectionApplied { get; }

    string HeatReleaseCorrectionStatus { get; }

    event EventHandler<RealtimeSnapshot>? SnapshotUpdated;

    event EventHandler? HeatReleaseCorrectionStatusChanged;

    void StartTest();

    void StopTest();

    void ClearRecords();
}
