using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Controller.Entities;
namespace MediaBrowser.Controller.Library;
///
/// A local similar items provider that supports batch queries across multiple source items.
/// Implementations share access filtering and entity loading across all sources for better performance.
///
public interface IBatchLocalSimilarItemsProvider : ISimilarItemsProvider
{
///
/// Gets similar items for multiple source items in a single batch.
///
/// The source items to find similar items for.
/// The query options.
/// The cancellation token.
/// Per-source-item results keyed by source item ID.
Task>> GetBatchSimilarItemsAsync(
IReadOnlyList sourceItems,
SimilarItemsQuery query,
CancellationToken cancellationToken);
}