from abc import abstractmethod
from typing import Sequence


class FileSystem(object):

    @abstractmethod
    def list_entries(
        self,
        path: str,
    ) -> Sequence[str]:

        raise NotImplementedError()

    def read_file_content(
        self,
        path: str,
    ) -> bytes:

        raise NotImplementedError()

    def is_dir(
        self,
        path: str,
    ) -> bool:

        raise NotImplementedError()

    def is_file(
        self,
        path: str,
    ) -> bool:

        raise NotImplementedError()
