using Domain.Dtos;
using Domain.Dtos.Stock;
using Domain.Generics;

namespace phronCare.UIBlazor.Services.Stock.Expeditions
{
    public interface IExpeditionService
    {
        Task ExportPdfAsync(int expeditionId, string expeditionNumber);
        Task<ExpeditionDto?> GetDtoByIdAsync(int id);
        Task<QuoteDto?> GetQuoteByNumberAsync(string quoteNumber);
        Task<PagedResult<ExpeditionDto>> SearchAsync(string? expeditionNumber = null, string? status = null, DateTime? issueDateFrom = null, DateTime? issueDateTo = null, int? locationId = null, int page = 1, int pageSize = 10);
        Task ExportFilteredAsync(LSProductSearchParams searchParams);
        Task MarkInTransitAsync(int expeditionId);
    }
}
