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);
}
}