export class ChapterRepositoryInterface {
    /**
     * Récupère les informations d'un chapitre
     * @param {string} chapterId - L'identifiant du chapitre
     * @returns {Promise<Object>} Les informations du chapitre
     */
    async getChapter(chapterId) {
        throw new Error('Method not implemented');
    }

    /**
     * Récupère la liste des pages d'un chapitre
     * @param {string} chapterId - L'identifiant du chapitre
     * @param {number} page - Le numéro de page
     * @param {number} itemsPerPage - Le nombre d'éléments par page
     * @returns {Promise<Object>} La liste des pages avec leurs métadonnées
     */
    async getChapterPages(chapterId, page = 1, itemsPerPage = 20) {
        throw new Error('Method not implemented');
    }

    /**
     * Récupère une page spécifique d'un chapitre
     * @param {string} chapterId - L'identifiant du chapitre
     * @param {number} pageNumber - Le numéro de la page
     * @returns {Promise<Object>} Les données de la page
     */
    async getChapterPage(chapterId, pageNumber) {
        throw new Error('Method not implemented');
    }
}
