using TIAM.Entities.Transfers;
using TIAMWebApp.Shared.Application.Models;
using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels;

namespace TIAMWebApp.Shared.Application.Interfaces
{
    public interface ITransferDataService
    {
        Task<List<TransferDestination>> GetDestinationsAsync();
        Task<TransferDestination?> GetTransferDestinationbyCoordinatesAsync(string destinationId);
        Task<TransferDestination?> GetTransferDestinationbyAddressAsync(string destinationId);
        Task<TransferDestination?> CreateTransferDestination(TransferDestination model);

        Task<TransferDestination?> UpdateTransferDestination(TransferDestination model); 

        Task<Transfer?> CreateTransfer(TransferWizardModel model);
        Task<List<Transfer>?> CreateTransfers(List<TransferWizardModel> modelList);

        Task<Transfer?> GetTransferByIdAsync(Guid id);
        Task<List<Transfer>> GetTransfersAsync();
        Task<Transfer> UpdateTransferAsync(TransferWizardModel model);
    }
}
