from typing import Union, final

ByteString = Union[bytes, bytearray, memoryview]

def decompress_buffer(
    decompress_bytes: ByteString, uncompressed_size: int
) -> bytes: ...
def miki_decrypt(encrypted_bytes: ByteString) -> bytes: ...
def miki_decrypt_old(encrypted_bytes: ByteString) -> bytes: ...
def miki_decrypt_and_decompress(
    encrypted_bytes: ByteString, uncompressed_size: int
) -> bytes: ...
def miki_decrypt_old_and_decompress(
    encrypted_bytes: ByteString, uncompressed_size: int
) -> bytes: ...
@final
class ChaCha20:
    def __init__(self, key: bytes, nonce: bytes, counter: int) -> None: ...
    def work_bytes(self, input_bytes: ByteString) -> bytes: ...
@final
class ManifestDataBinary:
    def __init__(self) -> None: ...
    def init_binary(self, file_path: str) -> bool: ...
    def save_to_json_file(self, output_path: str) -> bool: ...
