"""
Auto-generated Python stub file from zlib.zinflate.py
Module: zlib.zinflate
"""


from stdint import *
import zlib.zchecksum as zchecksum
import zlib.zdef as zdef
import zlib.zhuff as zhuff
import string
import memhub
import t, c

@t.Object
class zinflate_stream:
    pool: memhub.MemManager | t.CPtr
    reader: zdef.zbit_reader
    window: BYTEPTR
    window_pos: t.CInt
    window_size: t.CInt
    wbits: t.CInt
    is_finished: t.CInt
    is_initialized: t.CInt
    header_parsed: t.CInt
    is_gzip: t.CInt
    adler: t.CUInt32T
    crc: t.CUInt32T
    output: BYTEPTR
    output_len: t.CSizeT
    output_cap: t.CSizeT
    input_data: t.CConst | BYTEPTR
    input_len: t.CSizeT
    input_pos: t.CSizeT
    max_length: t.CSizeT
    def __init__(self: zinflate_stream) -> t.CInt: pass
    def output_byte(self: zinflate_stream, byte: BYTE) -> t.CInt: pass
    def parse_header(self: zinflate_stream) -> t.CInt: pass
    def read_bits_from_input(self: zinflate_stream, nbits: t.CInt, out: UINTPTR) -> t.CInt: pass
    def read_huffman(self: zinflate_stream, dt: zhuff.zhuff_decode_tree | t.CPtr) -> t.CInt: pass
    def inflate_block_stored(self: zinflate_stream) -> t.CInt: pass
    def inflate_block_fixed(self: zinflate_stream) -> t.CInt: pass
    def inflate_block_dynamic(self: zinflate_stream) -> t.CInt: pass
    def inflate_stream(self: zinflate_stream) -> t.CInt: pass
    def decompress(self: zinflate_stream, data: UINT8PTR, length: t.CSizeT, max_length: t.CSizeT, out: t.CUInt8T | t.CPtr[t.CPtr], out_len: t.CSizeT | t.CPtr) -> t.CInt: pass
    def set_dictionary(self: zinflate_stream, dict: UINT8PTR, length: t.CSizeT) -> t.CInt: pass
    def copy(self: zinflate_stream) -> zinflate_stream | t.CPtr: pass
    def destroy(self: zinflate_stream) -> t.CInt: pass

def zinflate_one_shot(pool: memhub.MemManager | t.CPtr, data: UINT8PTR, length: t.CSizeT, wbits: t.CInt, bufsize: t.CSizeT, out_len: t.CSizeT | t.CPtr) -> t.CUInt8T | t.CPtr: pass

def zinflate_create(pool: memhub.MemManager | t.CPtr, wbits: t.CInt) -> zinflate_stream | t.CPtr: pass
