"""
Auto-generated Python stub file from lib.core.Handles.HandlesType.py
Module: lib.core.Handles.HandlesType
"""


import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import stdio
import sys
import stdlib
import viperlib
import w32.fileio as fileio
import lib.core.Handles.HandlesImports as HandlesImports
import lib.core.Handles.HandlesStruct as HandlesStruct

_g_current_file: t.CExtern | str
_g_generic_tp_names: t.CExtern | list[str] | t.CPtr
_g_generic_type_args: t.CExtern | list[str] | t.CPtr
_g_cdefine_names: t.CExtern | list[str] | t.CPtr
_g_cdefine_values: t.CExtern | list[str] | t.CPtr

def register_cdefine_constant(pool: memhub.MemBuddy | t.CPtr, name: str, value: int) -> None: pass

def lookup_cdefine_constant(name: str) -> int: pass

def clear_cdefine_constants() -> None: pass

def set_generic_context(tp_names: list[str] | t.CPtr, type_args: list[str] | t.CPtr) -> t.CInt: pass

def clear_generic_context() -> t.CInt: pass

def resolve_generic_type_name(name: str) -> str: pass

def _get_type_name_from_annotation(pool: memhub.MemBuddy | t.CPtr, node: ast.AST | t.CPtr) -> str: pass

def _parse_type_string(pool: memhub.MemBuddy | t.CPtr, type_str: str, ctx: t.CInt) -> ast.AST | t.CPtr: pass

def set_current_file(file_path: str) -> t.CInt: pass


_SRC_BUF_SIZE: t.CDefine = 262144

def _read_source_line(file_path: str, lineno: int) -> str: pass

def fatal_error(node: ast.AST | t.CPtr, msg: str) -> t.CInt: pass

def fatal_type_error(node: ast.AST | t.CPtr, msg: str) -> t.CInt: pass

def map_t_type(pool: memhub.MemBuddy | t.CPtr, type_name: str) -> llvmlite.LLVMType | t.CPtr: pass

def _is_t_attr(node: ast.AST | t.CPtr, attr_name: str, imported_modules: str) -> int: pass

def extract_class_name_from_annotation(node: ast.AST | t.CPtr, imported_modules: str) -> str: pass

def resolve_annotation_type(pool: memhub.MemBuddy | t.CPtr, node: ast.AST | t.CPtr, imported_modules: str, from_imports: str) -> llvmlite.LLVMType | t.CPtr: pass

def has_decorator_marker(node: ast.AST | t.CPtr, marker_name: str) -> int: pass

def is_pass_body(body: list[ast.AST | t.CPtr] | t.CPtr) -> int: pass

def get_llvm_type_bits(ty: llvmlite.LLVMType | t.CPtr) -> int: pass

def infer_expr_type(pool: memhub.MemBuddy | t.CPtr, node: ast.AST | t.CPtr, param_types: str) -> llvmlite.LLVMType | t.CPtr: pass

def infer_return_type(pool: memhub.MemBuddy | t.CPtr, body: list[ast.AST | t.CPtr] | t.CPtr, param_types: str) -> llvmlite.LLVMType | t.CPtr: pass

def build_param_types_str(pool: memhub.MemBuddy | t.CPtr, args_node: ast.AST | t.CPtr) -> str: pass

def _strappend(dst: t.CChar | t.CPtr, dst_size: t.CSizeT, src: t.CChar | t.CPtr) -> t.CInt: pass
