using Domain.Dtos.Sales;
using Domain.Generics;

namespace phronCare.UIBlazor.Services.Sales.DeliveryNotes
{
    public interface IDeliveryNoteService
    {
        Task<PagedResult<DeliveryNoteSummaryDto>> SearchAsync(DeliveryNoteSearchParams searchParams);
        Task<DeliveryNoteDto?> GetByIdAsync(int id);
        Task<DeliveryNoteDto?> GetByDeliveryNoteNumberAsync(string deliveryNoteNumber);
        Task<IEnumerable<DeliveryNoteDto>> GetByQuoteIdAsync(int quoteId);
        Task<DeliveryNoteCreateResponse> CreateAndIssueAsync(DeliveryNoteCreateRequest request);
        Task ExportPdfAsync(int deliveryNoteId, string deliveryNoteNumber);
        Task ExportFilteredAsync(DeliveryNoteSearchParams searchParams);
    }
}
