using RutasDBUS.Modelos.Importacion;

namespace RutasDBUS.Servicios.Importacion;

public interface IServicioArchivoImportacionDbus
{
    Task<ArchivoImportacionDbus> ObtenerAsync(CancellationToken cancellationToken = default);

    Task<IReadOnlyList<ModeloHorarioDbusInfo>> ListarModelosAsync(CancellationToken cancellationToken = default);

    Task<ModeloHorarioDbusInfo?> ObtenerModeloActivoAsync(CancellationToken cancellationToken = default);

    Task SeleccionarModeloAsync(string idModelo, CancellationToken cancellationToken = default);

    Task<ModeloHorarioDbusInfo> GuardarModeloSubidoAsync(
        string nombreArchivo,
        Stream contenido,
        CancellationToken cancellationToken = default);
}
