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


import t, c
from stdint import *
import memhub
import string
import stdio
import stdlib
import w32.win32file as win32file
import w32.win32base as win32base
import w32.fileio as fileio
import hashlib
import viperlib

_mbuddy: t.CExtern | memhub.MemManager | t.CPtr
MAX_PATH_LEN: t.CDefine = 512
MAX_FILES: t.CDefine = 256

@t.NoVTable
class FileEntry:
    Path: str
    Sha1: str
    RelPath: str
    ModuleName: str
@t.NoVTable
class ScanResult:
    Entries: FileEntry | t.CPtr
    Count: t.CInt
    Capacity: t.CInt

def create_scan_result(pool: memhub.MemBuddy | t.CPtr) -> ScanResult | t.CPtr: pass

def add_file_entry(result: ScanResult | t.CPtr, pool: memhub.MemBuddy | t.CPtr, abs_path: str, rel_path: str, sha1: str) -> int: pass

def compute_file_sha1(pool: memhub.MemBuddy | t.CPtr, file_path: str) -> str: pass

def scan_directory_recursive(pool: memhub.MemBuddy | t.CPtr, root_dir: str, rel_prefix: str, result: ScanResult | t.CPtr) -> int: pass

def scan_includes(pool: memhub.MemBuddy | t.CPtr, includes_dir: str) -> ScanResult | t.CPtr: pass

def find_entry_by_module(result: ScanResult | t.CPtr, module_name: str) -> FileEntry | t.CPtr: pass
