from abc import ABC, abstractmethod from typing import Any class MessengerService(ABC): @abstractmethod async def setup(self): pass @abstractmethod async def shutdown(self): pass @abstractmethod async def send_message(self, chat_id: str, text: str, **kwargs): pass @abstractmethod async def send_file(self, chat_id: str, file_path: str, caption: str = ""): pass @abstractmethod async def notify_progress(self, chat_id: str, status: str, progress: int | None = None): pass