namespace MyNes.Core; public interface IVideoProvider { string Name { get; } string ID { get; } void WriteErrorNotification(string message, bool instant); void WriteInfoNotification(string message, bool instant); void WriteWarningNotification(string message, bool instant); void TakeSnapshotAs(string path, string format); void TakeSnapshot(); void Initialize(); void ShutDown(); void SignalToggle(bool started); void SubmitFrame(ref int[] buffer); void ResizeBegin(); void ResizeEnd(); void ApplyRegionChanges(); void Resume(); void ToggleAspectRatio(bool keep_aspect); void ToggleFPS(bool show_fps); void ApplyFilter(); }