using Domain.Dtos.Stock;
using Domain.Entities;
using Domain.Generics;
namespace Models.Interfaces
{
// 1.1 Data (Repo)
public interface IExpeditionRepository
{
///
/// Crea la expedición completa (encabezado + detalles) y la deja emitida con numeración de serie.
///
Task<(int Id, string Expeditionnumber)> CreateFullExpeditionAsync(ELSExpeditionHeader expedition, int formSeriesId);
Task GetDtoByIdAsync(int id);
Task> SearchAsync(string? expeditionNumber, string? status, DateTime? issueDateFrom, DateTime? issueDateTo, int? locationId, int page, int pageSize);
}
}