using System.Collections.Generic; using System.Threading.Tasks; using Roadie.Library.Data; using Roadie.Library.MetaData.Audio; using Roadie.Library.SearchEngines.Imaging; using Roadie.Library.SearchEngines.MetaData; namespace Roadie.Library.Engines { public interface IArtistLookupEngine { IEnumerable AddedArtistIds { get; } IArtistSearchEngine DiscogsArtistSearchEngine { get; } IArtistSearchEngine ITunesArtistSearchEngine { get; } IArtistSearchEngine LastFmArtistSearchEngine { get; } IArtistSearchEngine MusicBrainzArtistSearchEngine { get; } IArtistSearchEngine SpotifyArtistSearchEngine { get; } IArtistSearchEngine WikipediaArtistSearchEngine { get; } Task> Add(Artist artist); Task> GetByName(AudioMetaData metaData, bool doFindIfNotInDatabase = false); Task> PerformMetaDataProvidersArtistSearch(AudioMetaData metaData); } }