using GestionIntegral.Api.Models.Radios;
using System.Collections.Generic;
using System.Threading.Tasks;
// using System.Data; // Solo si se usa transacción para historial

namespace GestionIntegral.Api.Data.Repositories.Radios
{
    public interface IRitmoRepository
    {
        Task<IEnumerable<Ritmo>> GetAllAsync(string? nombreFilter);
        Task<Ritmo?> GetByIdAsync(int id);
        Task<Ritmo?> CreateAsync(Ritmo nuevoRitmo /*, int idUsuario, IDbTransaction transaction - si hay historial */);
        Task<bool> UpdateAsync(Ritmo ritmoAActualizar /*, int idUsuario, IDbTransaction transaction */);
        Task<bool> DeleteAsync(int id /*, int idUsuario, IDbTransaction transaction */);
        Task<bool> ExistsByNameAsync(string nombreRitmo, int? excludeId = null);
        Task<bool> IsInUseAsync(int id); // Verificar si se usa en rad_dtCanciones
    }
}