from abc import abstractmethod
from typing import IO, Protocol


class FileStorage(Protocol):
    @abstractmethod
    async def upload(self, path: str, image: IO[bytes]) -> None:
        raise NotImplementedError
