from abc import ABC, abstractmethod from queue import Queue from typing import List class IReadingService(ABC): @abstractmethod async def gen_reading_passage( self, passage_id: int, topic: str, req_exercises: List[str], number_of_exercises_q: Queue, difficulty: str, start_id: int ): pass @abstractmethod async def generate_reading_passage(self, part: int, topic: str, word_count: int = 800): pass