import re from collections.abc import Mapping from typing import Final from _typeshed import StrOrBytesPath routine_start_re: Final[re.Pattern[str]] = ... routine_end_re: Final[re.Pattern[str]] = ... function_start_re: Final[re.Pattern[str]] = ... template_re: Final[re.Pattern[str]] = ... named_re: Final[re.Pattern[str]] = ... list_re: Final[re.Pattern[str]] = ... item_re: Final[re.Pattern[str]] = ... template_name_re: Final[re.Pattern[str]] = ... include_src_re: Final[re.Pattern[str]] = ... def parse_structure(astr: str) -> list[tuple[int, int]]: ... def find_repl_patterns(astr: str) -> dict[str, str]: ... def find_and_remove_repl_patterns(astr: str) -> tuple[str, dict[str, str]]: ... def conv(astr: str) -> str: ... # def unique_key(adict: Mapping[str, object]) -> str: ... def expand_sub(substr: str, names: dict[str, str]) -> str: ... def process_str(allstr: str) -> str: ... # def resolve_includes(source: StrOrBytesPath) -> list[str]: ... def process_file(source: StrOrBytesPath) -> str: ...