from typing import Union, Optional Buffer = Union[bytes, bytearray, memoryview] def _hash_leaves(leaves: memoryview, cvs: memoryview) -> None: ... def _hash_leaves_threaded(leaves: memoryview, cvs: memoryview, threads: int) -> None: ... class K12_XOF(object): def __init__(self, data: Optional[Buffer] = ..., custom: Optional[bytes] = ..., threads: int = ...) -> None: ... def update(self, data: Buffer) -> K12_XOF: ... def _update_full_leaves(self, data_mem: memoryview, index: int) -> int: ... def read(self, length: int) -> bytes: ... def new(self, data: Optional[Buffer] = ..., custom: Optional[bytes] = ..., threads: int = ...) -> K12_XOF: ... def new(data: Optional[Buffer] = ..., custom: Optional[Buffer] = ..., threads: int = ...) -> K12_XOF: ...