blocksize = ...  # type: int
block_size = ...  # type: int
digest_size = ...  # type: int

class sha(object):  # not actually exposed
    name = ...  # type: str
    block_size = ...  # type: int
    digest_size = ...  # type: int
    digestsize = ...  # type: int
    def copy(self) -> "sha": ...
    def digest(self) -> str: ...
    def hexdigest(self) -> str: ...
    def update(self, arg: str) -> None: ...

def new(arg: str = ...) -> sha: ...
