using System.Collections.ObjectModel; using MediaBrowser.Controller.Entities; namespace Jellyfin.Api.Models.UserDtos { /// /// Interface ILyricsProvider. /// public interface ILyricsProvider { /// /// Gets a value indicating the File Extenstions this provider works with. /// public Collection? FileExtensions { get; } /// /// Gets a value indicating whether Process() generated data. /// /// true if data generated; otherwise, false. bool HasData { get; } /// /// Gets Data object generated by Process() method. /// /// Object with data if no error occured; otherwise, null. object? Data { get; } /// /// Opens lyric file for [the specified item], and processes it for API return. /// /// The item to to process. void Process(BaseItem item); } }