# pylint: disable=all
# flake8: noqa
from typing import Any
from typing import Optional

# from beancount.utils import regexp_utils as regexp_utils

# sep: str
# ACC_COMP_TYPE_RE: Any
# ACC_COMP_NAME_RE: Any
ACCOUNT_RE: str
TYPE: str

# def is_valid(string: Any): ...
# def join(*components: Any): ...
# def split(account_name: Any): ...
def parent(account_name: str) -> str: ...

# def leaf(account_name: Any): ...
# def sans_root(account_name: Any): ...
# def root(num_components: Any, account_name: Any): ...
def has_component(account_name: str, component: str) -> bool: ...

# def commonprefix(accounts: Any): ...
# def walk(root_directory: Any) -> None: ...
# def parent_matcher(account_name: Any): ...
# def parents(account_name: Any) -> None: ...

# class AccountTransformer:
#     rsep: Any = ...
#     def __init__(self, rsep: Optional[Any] = ...) -> None: ...
#     def render(self, account_name: Any): ...
#     def parse(self, transformed_name: Any): ...
