using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace NexusReader.Application.Abstractions.Persistence;
///
/// Provides access to user library ownership details, decoupling the relational database
/// structures from vector search and intelligence query operations.
///
public interface IUserLibraryStore
{
///
/// Retrieves a list of book IDs that are owned by or uploaded for the specified user.
///
Task> GetOwnedBookIdsAsync(string userId, CancellationToken cancellationToken = default);
///
/// Retrieves a dictionary mapping book IDs to their titles.
///
Task> GetBookTitlesAsync(List bookIds, CancellationToken cancellationToken = default);
}