using RgbLedStripController.Core; namespace RgbLedStripController.Services; public interface IBleTransport : IAsyncDisposable { event EventHandler? ConnectionStatusChanged; Task> ScanAsync(TimeSpan duration, CancellationToken cancellationToken = default); Task ConnectAsync(BleScanResult device, CancellationToken cancellationToken = default); Task DiscoverAsync(CancellationToken cancellationToken = default); Task WriteAsync(ReadOnlyMemory payload, CancellationToken cancellationToken = default); Task DisconnectAsync(); }