"""Auto-generated Python stub file"""


import t, c
from stdint import *
import memhub
import string
import viperio
JSON_NULL: t.CDefine
JSON_BOOL: t.CDefine
JSON_INT: t.CDefine
JSON_FLOAT: t.CDefine
JSON_STRING: t.CDefine
JSON_ARRAY: t.CDefine
JSON_OBJECT: t.CDefine
class JsonValue:
    vtype: t.CInt
    bool_val: t.CInt
    int_val: t.CInt64T
    float_val: t.CDouble
    str_val: t.CChar | t.CPtr
    next: 'JsonValue' | t.CPtr
    key: t.CChar | t.CPtr
    child: 'JsonValue' | t.CPtr
    child_count: t.CSizeT
    def __new__(self, pool: memhub.MemManager | t.CPtr): pass
    def type(self) -> t.CInt: pass
    def is_null(self) -> bool: pass
    def is_bool(self) -> bool: pass
    def is_int(self) -> bool: pass
    def is_float(self) -> bool: pass
    def is_string(self) -> bool: pass
    def is_array(self) -> bool: pass
    def is_object(self) -> bool: pass
    def as_bool(self) -> bool: pass
    def as_int(self) -> t.CInt64T: pass
    def as_float(self) -> t.CDouble: pass
    def as_string(self) -> t.CChar | t.CPtr: pass
    def __len__(self) -> t.CSizeT: pass
    def __getitem__(self, key: t.CChar | t.CPtr) -> 'JsonValue' | t.CPtr: pass
    def __setitem__(self, key: t.CChar | t.CPtr, val: 'JsonValue' | t.CPtr): pass
    def get_item(self, index: t.CSizeT) -> 'JsonValue' | t.CPtr: pass
    def _pool_alloc(self, size: t.CSizeT) -> t.CChar | t.CPtr: pass
    def _append_child(self, child: 'JsonValue' | t.CPtr): pass

def null(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass

def bool_val(pool: memhub.MemManager | t.CPtr, val: bool) -> JsonValue | t.CPtr: pass

def int_val(pool: memhub.MemManager | t.CPtr, val: t.CInt64T) -> JsonValue | t.CPtr: pass

def float_val(pool: memhub.MemManager | t.CPtr, val: t.CDouble) -> JsonValue | t.CPtr: pass

def string_val(pool: memhub.MemManager | t.CPtr, val: t.CChar | t.CPtr) -> JsonValue | t.CPtr: pass

def array(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass

def object(pool: memhub.MemManager | t.CPtr) -> JsonValue | t.CPtr: pass

def array_append(pool: memhub.MemManager | t.CPtr, arr: JsonValue | t.CPtr, item: JsonValue | t.CPtr): pass

def object_set(pool: memhub.MemManager | t.CPtr, obj: JsonValue | t.CPtr, key: t.CChar | t.CPtr, val: JsonValue | t.CPtr): pass

from .__parser import parse
from .__writer import write
