// // Copyright (c) PlaceholderCompany. All rights reserved. // #nullable disable #pragma warning disable CS1591 using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Entities; namespace MediaBrowser.Controller.Persistence; public interface IPeopleRepository { /// /// Gets the people. /// /// The query. /// The list of people matching the filter. IReadOnlyList GetPeople(InternalPeopleQuery filter); /// /// Gets the people asynchronously. /// /// The query. /// The cancellation token. /// The list of people matching the filter. Task> GetPeopleAsync(InternalPeopleQuery filter, CancellationToken cancellationToken = default); /// /// Updates the people. /// /// The item identifier. /// The people. void UpdatePeople(Guid itemId, IReadOnlyList people); /// /// Updates the people asynchronously. /// /// The item identifier. /// The people. /// The cancellation token. /// A task representing the asynchronous operation. Task UpdatePeopleAsync(Guid itemId, IReadOnlyList people, CancellationToken cancellationToken = default); /// /// Gets the people names. /// /// The query. /// The list of people names matching the filter. IReadOnlyList GetPeopleNames(InternalPeopleQuery filter); /// /// Gets the people names asynchronously. /// /// The query. /// The cancellation token. /// The list of people names matching the filter. Task> GetPeopleNamesAsync(InternalPeopleQuery filter, CancellationToken cancellationToken = default); }