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


import t, c
from stdint import *
import ast
import llvmlite
import memhub
import string
import viperlib
import stdio
import stdlib
import lib.core.Handles.HandlesTranslator as HT
import lib.core.Handles.HandlesVar as HandlesVar
import lib.core.Handles.HandlesExprCall as HandlesExprCall
import lib.core.Handles.HandlesType as HandlesType
import lib.core.Handles.HandlesExpr as HandlesExpr
import lib.core.Handles.HandlesBody as HandlesBody
import lib.core.Handles.HandlesNonlocal as HandlesNonlocal
import lib.core.Handles.HandlesImports as HandlesImports

def extract_func_attrs(pool: memhub.MemBuddy | t.CPtr, decorator_list: list[ast.AST | t.CPtr] | t.CPtr, imported_modules: str) -> t.CChar | t.CPtr: pass

def _get_attr_name_from_node(node: ast.AST | t.CPtr) -> str: pass

def _append_llvm_attr(attrs_buf: t.CChar | t.CPtr, attr_name: str) -> int: pass

def _append_str(buf: t.CChar | t.CPtr, s: str) -> None: pass

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

def _mangle_name_with_sha1(sha1: str, name: str) -> str: pass

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

def forward_declare_functions(trans: HT.Translator | t.CPtr, tree: ast.AST | t.CPtr) -> int: pass

def translate_function_def(trans: HT.Translator | t.CPtr, node: ast.AST | t.CPtr) -> int: pass

def translate_nested_function_def(trans: HT.Translator | t.CPtr, node: ast.AST | t.CPtr) -> int: pass

def create_function(pool: memhub.MemBuddy | t.CPtr, mod: llvmlite.LLVMModule | t.CPtr, name: str, args_node: ast.AST | t.CPtr, ret_ty: llvmlite.LLVMType | t.CPtr) -> llvmlite.Function | t.CPtr: pass
