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

from typing import Any, TYPE_CHECKING
from docutils import nodes
from sphinx.addnodes import pending_xref
from sphinx.domains import Domain
from sphinx.transforms import SphinxTransform
from docutils.nodes import Element
from sphinx.application import Sphinx
from sphinx.builders import Builder
from sphinx.environment import BuildEnvironment

"""The citation domain."""
if TYPE_CHECKING:
    ...
logger = ...
class CitationDomain(Domain):
    """Domain for citations."""
    name = ...
    label = ...
    dangling_warnings = ...
    @property
    def citations(self) -> dict[str, tuple[str, str, int]]:
        ...
    
    @property
    def citation_refs(self) -> dict[str, set[str]]:
        ...
    
    def clear_doc(self, docname: str) -> None:
        ...
    
    def merge_domaindata(self, docnames: list[str], otherdata: dict[str, Any]) -> None:
        ...
    
    def note_citation(self, node: nodes.citation) -> None:
        ...
    
    def note_citation_reference(self, node: pending_xref) -> None:
        ...
    
    def check_consistency(self) -> 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]]:
        ...
    


class CitationDefinitionTransform(SphinxTransform):
    """Mark citation definition labels as not smartquoted."""
    default_priority = ...
    def apply(self, **kwargs: Any) -> None:
        ...
    


class CitationReferenceTransform(SphinxTransform):
    """
    Replace citation references by pending_xref nodes before the default
    docutils transform tries to resolve them.
    """
    default_priority = ...
    def apply(self, **kwargs: Any) -> None:
        ...
    


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

