using Edge.Core.Database.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Applications.FDC
{
    public interface IFdcResourceArbitrator
    {
        Task<bool> TryReserveFuelPointAsync(int posId, int fuelPointId);
        Task<bool> TryUnreserveFuelPointAsync(int posId, int fuelPointId);

        Task<FuelSaleTransaction> TryLockFuelSaleTrxAsync(int posId, int fuelPointId, int transactionNo, int releaseToken);
        Task<FuelSaleTransaction> TryUnlockFuelSaleTrxAsync(int posId, int fuelPointId, int transactionNo, int releaseToken);
    }
}