using GestionIntegral.Api.Dtos.Auditoria;
using GestionIntegral.Api.Dtos.Impresion; // Para los DTOs
using System.Collections.Generic;
using System.Threading.Tasks;
namespace GestionIntegral.Api.Services.Impresion
{
public interface IPlantaService
Task<IEnumerable<PlantaDto>> ObtenerTodasAsync(string? nombreFilter, string? detalleFilter);
Task<PlantaDto?> ObtenerPorIdAsync(int id);
Task<(PlantaDto? Planta, string? Error)> CrearAsync(CreatePlantaDto createDto, int idUsuario);
Task<(bool Exito, string? Error)> ActualizarAsync(int id, UpdatePlantaDto updateDto, int idUsuario);
Task<(bool Exito, string? Error)> EliminarAsync(int id, int idUsuario);
Task<IEnumerable<PlantaDropdownDto>> ObtenerParaDropdownAsync();
Task<IEnumerable<PlantaHistorialDto>> ObtenerHistorialAsync(
DateTime? fechaDesde, DateTime? fechaHasta,
int? idUsuarioModifico, string? tipoModificacion,
int? idPlantaAfectada);
}