from abc import ABC, abstractmethod from fastapi import UploadFile from typing import Dict class ILevelController(ABC): @abstractmethod async def generate_exercises(self, dto): pass @abstractmethod async def get_level_exam(self): pass @abstractmethod async def get_level_utas(self): pass @abstractmethod async def upload_level(self, file: UploadFile): pass @abstractmethod async def get_custom_level(self, data: Dict): pass