using adas_core.Domain.Models;
using adas_core.Domain.Utils;

namespace adas_core.module.LightBeacons.Devices;

public abstract class LightBeacon(EquatableDictionary<string, object> options)
{
    protected readonly EquatableDictionary<string, object> Options = options;


    public abstract Task BlueCode();
    public abstract Task RedCode();
    public abstract Task YellowCode();
    public abstract Task PowerOffLed();
    public abstract Task GenerateColorAlert(PatientObservation obs);


    public abstract Task<Domain.Enums.LightBeaconColor> GetBeaconColor();
}