"""
This type stub file was generated by pyright.
"""

from typing import Any, TYPE_CHECKING
from docutils import nodes
from docutils.nodes import Element, Node, system_message
from sphinx.domains import Domain
from sphinx.roles import XRefRole
from collections.abc import Iterable
from sphinx.addnodes import pending_xref
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment

"""The math domain."""
if TYPE_CHECKING:
    ...
logger = ...
class MathReferenceRole(XRefRole):
    def result_nodes(self, document: nodes.document, env: BuildEnvironment, node: Element, is_ref: bool) -> tuple[list[Node], list[system_message]]:
        ...
    


class MathDomain(Domain):
    """Mathematics domain."""
    name = ...
    label = ...
    initial_data: dict[str, Any] = ...
    dangling_warnings = ...
    enumerable_nodes = ...
    roles = ...
    @property
    def equations(self) -> dict[str, tuple[str, int]]:
        ...
    
    def note_equation(self, docname: str, labelid: str, location: Any = ...) -> None:
        ...
    
    def get_equation_number_for(self, labelid: str) -> int | None:
        ...
    
    def process_doc(self, env: BuildEnvironment, docname: str, document: nodes.document) -> None:
        ...
    
    def clear_doc(self, docname: str) -> None:
        ...
    
    def merge_domaindata(self, docnames: Iterable[str], otherdata: dict[str, Any]) -> None:
        ...
    
    def resolve_xref(self, env: BuildEnvironment, fromdocname: str, builder: Builder, typ: str, target: str, node: pending_xref, contnode: Element) -> Element | None:
        ...
    
    def resolve_any_xref(self, env: BuildEnvironment, fromdocname: str, builder: Builder, target: str, node: pending_xref, contnode: Element) -> list[tuple[str, Element]]:
        ...
    
    def get_objects(self) -> Iterable[tuple[str, str, str, str, str, int]]:
        ...
    
    def has_equations(self, docname: str | None = ...) -> bool:
        ...
    


def setup(app: Sphinx) -> dict[str, Any]:
    ...

