from typing import List, Optional, Tuple, Iterable, IO, Any import types def get_magic() -> str: ... def get_suffixes() -> List[Tuple[str, str, int]]: ... PY_SOURCE = 0 PY_COMPILED = 0 C_EXTENSION = 0 def find_module(name: str, path: Iterable[str] = None) -> Optional[Tuple[str, str, Tuple[str, str, int]]]: ... # TODO: module object def load_module(name: str, file: str, pathname: str, description: Tuple[str, str, int]) -> types.ModuleType: ... def new_module(name: str) -> types.ModuleType: ... def lock_held() -> bool: ... def acquire_lock() -> None: ... def release_lock() -> None: ... PKG_DIRECTORY = 0 C_BUILTIN = 0 PY_FROZEN = 0 SEARCH_ERROR = 0 def init_builtin(name: str) -> types.ModuleType: ... def init_frozen(name: str) -> types.ModuleType: ... def is_builtin(name: str) -> int: ... def is_frozen(name: str) -> bool: ... def load_compiled(name: str, pathname: str, file: IO[Any] = None) -> types.ModuleType: ... def load_dynamic(name: str, pathname: str, file: IO[Any] = None) -> types.ModuleType: ... def load_source(name: str, pathname: str, file: IO[Any] = None) -> types.ModuleType: ... class NullImporter: def __init__(self, path_string: str) -> None: ... def find_module(fullname: str, path: str = None) -> None: ...