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


import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import stdio
import stdlib
import lib.core.Handles.HandlesVar as HandlesVar
import lib.core.Handles.HandlesExprCall as HandlesExprCall
import lib.core.Handles.HandlesMain as HandlesMain
import lib.core.Handles.HandlesAssign as HandlesAssign
import lib.core.Handles.HandlesReturn as HandlesReturn
import lib.core.Handles.HandlesImports as HandlesImports
import lib.core.Handles.HandlesAnnAssign as HandlesAnnAssign
import lib.core.Handles.HandlesAugAssign as HandlesAugAssign
import lib.core.Handles.HandlesIf as HandlesIf
import lib.core.Handles.HandlesWhile as HandlesWhile
import lib.core.Handles.HandlesFor as HandlesFor
import lib.core.Handles.HandlesExpr as HandlesExpr
import lib.core.Handles.HandlesFunctions as HandlesFunctions
import lib.Projectrans.Config as Config

MAX_VARS: t.CDefine = 256
MAX_FUNCS: t.CDefine = 256
MAX_GLOBAL_NAMES: t.CDefine = 32

@t.NoVTable
class Translator:
    Module: llvmlite.LLVMModule | t.CPtr
    Pool: memhub.MemBuddy | t.CPtr
    _funcs: HandlesExprCall.FuncEntry | t.CPtr
    _func_count: t.CInt
    _imported_modules: str
    _from_imports: str
    _cur_func: llvmlite.Function | t.CPtr
    _cur_builder: llvmlite.IRBuilder | t.CPtr
    _break_bb: llvmlite.BasicBlock | t.CPtr
    _continue_bb: llvmlite.BasicBlock | t.CPtr
    _label_counter: t.CInt
    _global_names: str
    _global_name_count: t.CInt
    _nonlocal_names: str
    _nonlocal_name_count: t.CInt
    _cur_func_name: str
    ModuleSha1: str
    CurrentPackage: str
    _closure_env_offsets: t.CInt
    _closure_env_count: t.CInt
    GenericTypeParamNames: list[str] | t.CPtr
    GenericTypeArgs: list[str] | t.CPtr
    _declare_only: t.CInt
    AssignH: HandlesAssign.AssignHandle | t.CPtr
    ReturnH: HandlesReturn.ReturnHandle | t.CPtr
    ImportsH: HandlesImports.ImportsHandle | t.CPtr
    AnnAssignH: HandlesAnnAssign.AnnAssignHandle | t.CPtr
    AugAssignH: HandlesAugAssign.AugAssignHandle | t.CPtr
    IfH: HandlesIf.IfHandle | t.CPtr
    WhileH: HandlesWhile.WhileHandle | t.CPtr
    ForH: HandlesFor.ForHandle | t.CPtr
    ExprH: HandlesExpr.ExprHandle | t.CPtr
    ExprCallH: HandlesExprCall.ExprCallHandle | t.CPtr
    SymTab: HandlesVar.SymbolTable | t.CPtr
    def __init__(self: Translator) -> t.CInt: pass
    def _init_state(self: Translator, pool: memhub.MemBuddy | t.CPtr) -> t.CInt: pass
    def translate(self: Translator, tree: ast.AST | t.CPtr) -> int: pass
    def _translate_wrapper_main(self: Translator, pool: memhub.MemBuddy | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, tree: ast.AST | t.CPtr, i32_ty: llvmlite.LLVMType | t.CPtr) -> t.CInt: pass
    def _translate_module_level(self: Translator, pool: memhub.MemBuddy | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, tree: ast.AST | t.CPtr) -> t.CInt: pass
    def dump_ir(self: Translator, buf: bytes, size: t.CSizeT, mode: int) -> t.CInt: pass

def add_global_name(trans: HT.Translator | t.CPtr, name: str) -> t.CInt: pass

def is_global_name(trans: HT.Translator | t.CPtr, name: str) -> int: pass

def add_nonlocal_name(trans: HT.Translator | t.CPtr, name: str) -> t.CInt: pass

def is_nonlocal_name(trans: HT.Translator | t.CPtr, name: str) -> int: pass

def get_nonlocal_index(trans: HT.Translator | t.CPtr, name: str) -> int: pass

def clear_scope_names(trans: HT.Translator | t.CPtr) -> t.CInt: pass


_mbuddy: t.CExtern | memhub.MemBuddy | t.CPtr