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


import t, c
from stdint import *
import memhub
import string
import llvmlite
import stdio

ENUM_MAX: t.CDefine = 64
ENUM_MEMBER_MAX: t.CDefine = 64

@t.NoVTable
class EnumMember:
    Name: t.CChar | t.CPtr
    Value: t.CInt64T
    Ty: llvmlite.LLVMType | t.CPtr
@t.NoVTable
class EnumEntry:
    Name: t.CChar | t.CPtr
    BaseTy: llvmlite.LLVMType | t.CPtr
    MemberCount: int
    Members: EnumMember | t.CPtr

_enum_table: t.CExtern | EnumEntry | t.CPtr
_enum_count: t.CExtern | int

def init_enum_table(pool: memhub.MemBuddy | t.CPtr) -> int: pass

def _get_enum_entry(i: int) -> EnumEntry | t.CPtr: pass

def _get_enum_member(enum_entry: EnumEntry | t.CPtr, i: int) -> EnumMember | t.CPtr: pass

def register_enum(pool: memhub.MemBuddy | t.CPtr, name: str, base_ty: llvmlite.LLVMType | t.CPtr) -> EnumEntry | t.CPtr: pass

def add_enum_member(pool: memhub.MemBuddy | t.CPtr, enum_entry: EnumEntry | t.CPtr, member_name: str, member_val: t.CInt64T, member_ty: llvmlite.LLVMType | t.CPtr) -> int: pass

def find_enum(name: str) -> EnumEntry | t.CPtr: pass

def lookup_enum_member(enum_name: str, member_name: str) -> EnumMember | t.CPtr: pass

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

def get_enum_base_type(enum_name: str) -> llvmlite.LLVMType | t.CPtr: pass
