from abc import ABC, abstractmethod from fastapi import UploadFile class IReadingService(ABC): @abstractmethod async def import_exam(self, exercises: UploadFile, solutions: UploadFile = None): pass @abstractmethod async def generate_reading_exercises(self, dto): pass @abstractmethod async def generate_reading_passage(self, part: int, topic: str, word_count: int = 800): pass