#nullable disable using System; using System.Collections.Generic; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Querying; namespace MediaBrowser.Controller.Persistence; /// /// Provides methods for accessing Peoples. /// public interface IPeopleRepository { /// /// Gets the people. /// /// The query. /// The list of people matching the filter. QueryResult GetPeople(InternalPeopleQuery filter); /// /// Updates the people. /// /// The item identifier. /// The people. void UpdatePeople(Guid itemId, IReadOnlyList people); /// /// Gets the people names. /// /// The query. /// The list of people names matching the filter. IReadOnlyList GetPeopleNames(InternalPeopleQuery filter); /// /// Gets distinct people names for multiple items efficiently by querying from the mapping table. /// /// The item IDs to get people for. /// The person types to include (e.g. "Actor", "Director"). /// Maximum number of names to return. /// The distinct people names. IReadOnlyList GetPeopleNamesByItems(IReadOnlyList itemIds, IReadOnlyList personTypes, int limit); }