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

from typing import Any, Callable, TYPE_CHECKING
from docutils.statemachine import StringList
from docutils.utils import Reporter
from sphinx.ext.autodoc import Documenter, Options
from sphinx.util.docutils import SphinxDirective
from docutils.nodes import Node
from docutils.parsers.rst.states import RSTState
from sphinx.config import Config
from sphinx.environment import BuildEnvironment

if TYPE_CHECKING:
    ...
logger = ...
AUTODOC_DEFAULT_OPTIONS = ...
AUTODOC_EXTENDABLE_OPTIONS = ...
class DummyOptionSpec(dict):
    """An option_spec allows any options."""
    def __bool__(self) -> bool:
        """Behaves like some options are defined."""
        ...
    
    def __getitem__(self, key: str) -> Callable[[str], str]:
        ...
    


class DocumenterBridge:
    """A parameters container for Documenters."""
    def __init__(self, env: BuildEnvironment, reporter: Reporter | None, options: Options, lineno: int, state: Any) -> None:
        ...
    


def process_documenter_options(documenter: type[Documenter], config: Config, options: dict) -> Options:
    """Recognize options of Documenter from user input."""
    ...

def parse_generated_content(state: RSTState, content: StringList, documenter: Documenter) -> list[Node]:
    """Parse an item of content generated by Documenter."""
    ...

class AutodocDirective(SphinxDirective):
    """A directive class for all autodoc directives. It works as a dispatcher of Documenters.

    It invokes a Documenter upon running. After the processing, it parses and returns
    the content generated by Documenter.
    """
    option_spec = ...
    has_content = ...
    required_arguments = ...
    optional_arguments = ...
    final_argument_whitespace = ...
    def run(self) -> list[Node]:
        ...
    


