using System.Collections.ObjectModel;
using System.Security.Cryptography.X509Certificates;
using InABox.Core;

namespace InABox.Avalonia.Platform;

public interface IBluetooth : ILoggable
{
     Logger? Logger { get; set; }

     Task<bool> IsAvailable();
     
     Task<bool> StartScanningAsync(Guid configServiceId);
     
     Task<bool> StopScanningAsync();
     
     Task<IConnectedBluetoothDevice> Connect(IBluetoothDevice deviceid);
     
     Task<bool> Disconnect(IConnectedBluetoothDevice device);

     event EventHandler? Changed;
     
     CoreObservableCollection<IBluetoothDevice> Devices { get; }
     
}
