using SIGCM.Domain.Entities; namespace SIGCM.Domain.Interfaces; public interface IProductRepository { Task> GetAllAsync(); Task> GetByCompanyIdAsync(int companyId); Task GetByIdAsync(int id); Task CreateAsync(Product product); Task UpdateAsync(Product product); Task> GetAllCompaniesAsync(); // Helper para no crear un repo solo para esto por ahora Task> GetBundleComponentsAsync(int parentProductId); Task AddComponentToBundleAsync(ProductBundle bundle); Task RemoveComponentFromBundleAsync(int bundleId, int childProductId); }