using System.Collections.Generic; using System.Threading; using MediaBrowser.Controller.Entities; namespace MediaBrowser.Controller.Library; /// /// Provides similar item references from remote/external sources for a specific item type. /// Returns lightweight references with ProviderIds that the manager resolves to library items. /// /// The type of item this provider handles. public interface IRemoteSimilarItemsProvider : ISimilarItemsProvider where TItemType : BaseItem { /// /// Gets similar item references from an external source as an async stream. /// /// The source item to find similar items for. /// The query options (user, limit, exclusions). /// Cancellation token. /// An async enumerable of similar item references. IAsyncEnumerable GetSimilarItemsAsync( TItemType item, SimilarItemsQuery query, CancellationToken cancellationToken); }