using System.Threading.Tasks; using TINK.Repository.Request; using TINK.ViewModel.Bikes.Bike.BluetoothLock; using static TINK.Model.Bikes.BikeInfoNS.BluetoothLock.Command.CloseCommand; using static TINK.Model.Bikes.BikeInfoNS.BluetoothLock.Command.GetLockedLocationCommand; namespace TINK.Model.Bikes.BikeInfoNS.BluetoothLock { public interface IBikeInfoMutable : BC.IBikeInfoMutable { ILockInfoMutable LockInfo { get; } /// /// Closes the lock. /// /// View model to process closing notifications. /// Task which stops polling to be awaited before updating bike object and copri communication. Task CloseLockAsync(ICloseCommandListener listener, Task stopPollingTask); /// /// Gets the location of the locked bike. /// /// View model to process notifications. /// Task GetLockedBikeLocationAsync(IGetLockedLocationCommandListener listener); } }