namespace ytLive.Services;

/// <summary>
/// A running screen-capture source for one target key ("monitor:&lt;n&gt;" or
/// "window:&lt;hwnd&gt;"). Raises normalized BGRA frames from a worker thread;
/// callers must marshal to the UI thread. Seam so ScreenCaptureManager is
/// testable without WinRT.
/// </summary>
public interface IScreenCaptureSource
{
    string Key { get; }
    event Action<VideoFrame>? FrameAvailable;
    Task StartAsync();
    Task StopAsync();
}
