namespace adas_core.Domain.Models.Providers;

/// <summary>
/// Represents the result model for a prediction related to ADAS stay analysis.
/// </summary>
/// <remarks>
/// This type serves as a data container for prediction outcomes produced by the ADAS stay prediction process.
/// </remarks>
public class ResultModelPredictOfStayAdas
{
    public string Result { get; set; } = string.Empty;

    public List<Payload> Payload { get; set; } = [];
}

/// <summary>
/// Serves as an abstract base class for payload types, providing a common contract that derived classes must implement.
/// </summary>
/// <remarks>
/// As an abstract class, <see cref="Payload"/> cannot be instantiated directly and must be extended by a concrete subclass.
/// </remarks>
public abstract class Payload
{
    public double PercentageMin { get; set; }

    public double PercentageMax { get; set; }

    public double Duration { get; set; }
}