from typing import NamedTuple, Tuple, List, Dict, Any, Type, Iterator, BinaryIO API_VERSION: str has_seek_hole: bool class _Chunk(NamedTuple): data: bytes meta: Dict[str, Any] def Chunk(data: bytes, **meta) -> Type[_Chunk]: ... def buzhash(data: bytes, seed: int) -> int: ... def buzhash_update(sum: int, remove: int, add: int, len: int, seed: int) -> int: ... def get_chunker(algo: str, *params, **kw) -> Any: ... fmap_entry = Tuple[int, int, bool] def sparsemap(fd: BinaryIO = None, fh: int = -1) -> List[fmap_entry]: ... class ChunkerFailing: def __init__(self, block_size: int, map: str) -> None: ... def chunkify(self, fd: BinaryIO = None, fh: int = -1) -> Iterator: ... class ChunkerFixed: def __init__(self, block_size: int, header_size: int = 0, sparse: bool = False) -> None: ... def chunkify(self, fd: BinaryIO = None, fh: int = -1, fmap: List[fmap_entry] = None) -> Iterator: ... class Chunker: def __init__( self, seed: int, chunk_min_exp: int, chunk_max_exp: int, hash_mask_bits: int, hash_window_size: int ) -> None: ... def chunkify(self, fd: BinaryIO = None, fh: int = -1) -> Iterator: ...