from abc import ABC, abstractmethod from typing import Dict, Any class IExerciseService(ABC): @abstractmethod async def generate_multiple_choice(self, args: Dict, exercise_id: int) -> Dict[str, Any]: pass @abstractmethod async def generate_blank_space_text(self, args: Dict, exercise_id: int) -> Dict[str, Any]: pass @abstractmethod async def generate_reading_passage_utas(self, args: Dict, exercise_id: int) -> Dict[str, Any]: pass @abstractmethod async def generate_writing_task(self, args: Dict, exercise_id: int) -> Dict[str, Any]: pass @abstractmethod async def generate_speaking_task(self, args: Dict, exercise_id: int) -> Dict[str, Any]: pass @abstractmethod async def generate_reading_task(self, args: Dict, exercise_id: int) -> Dict[str, Any]: pass @abstractmethod async def generate_listening_task(self, args: Dict, exercise_id: int) -> Dict[str, Any]: pass