using FluentResults; using NexusReader.Application.Queries.Reader; namespace NexusReader.Application.Abstractions.Services; /// /// Reads and parses EPUB content for a specific ebook and chapter. /// public interface IEpubReader { /// /// Retrieves the content blocks for a given chapter of the specified ebook. /// /// The unique ID of the ebook to read. /// Zero-based chapter index. /// The authenticated user's ID (used for tenant isolation in the DB lookup). /// Cancellation token. Task> GetEpubContentAsync( Guid ebookId, int chapterIndex, string? userId = null, CancellationToken cancellationToken = default); }