using TechMedia.Core.Model; namespace TechMedia.Core; public interface ITechMediaCore { public void Play(); public void StartPlaylistPlayback(IProgress? trackReporter = null, IProgress? progressReporter = null); public void Stop(); public void Pause(); public void NextTrack(); public void PreviousTrack(); public void GetNextTrackInfo(); public void GetCurrentTrackInfo(); public void OpenMediaFile(string filename); public void OpenPlaylistFile(); public Task LoadFiles(List files, IProgress? progress = null); public List ShuffleCurrentPlaylist(); public List GetCurrentPlaylist(); public void RegisterPlaylistChangeListener(IProgress> playlistWatcher); public Track? SubmitRequest(string filename); }