from abc import ABC, abstractmethod


class DownloadPort(ABC):
    @abstractmethod
    async def downloadFile(self, file, url: str):
        raise NotImplementedError

    @abstractmethod
    async def getCurrentDownloadStatus(self):
        raise NotImplementedError

    @abstractmethod
    def resetDownloadStatus(self):
        raise NotImplementedError
