# Stubs for docutils.transforms (Python 3.6)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from docutils import ApplicationError, Component, nodes, TransformSpec
from docutils.nodes import Node, pending
from types import ModuleType
from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, Type

__docformat__: str

class TransformError(ApplicationError): ...

class Transform:
    default_priority: Optional[int] = ...
    document: nodes.document = ...
    startnode: Optional[Node] = ...
    language: ModuleType = ...
    def __init__(self, document: nodes.document, startnode: Optional[Node] = ...) -> None: ...
    def apply(self, **kwargs: Any) -> None: ...

class Transformer(TransformSpec):
    transforms: List[Tuple[str, Type[Transform], Optional[Node]]] = ...
    unknown_reference_resolvers: List[Callable[[Node], bool]] = ...
    document: nodes.document = ...
    applied: List[Tuple[int, Type[Transform], pending, Any]] = ...
    sorted: int = ...
    components: Dict[str, Component] = ...
    serialno: int = ...
    def __init__(self, document: nodes.document) -> None: ...
    def add_transform(self, transform_class: Type[Transform], priority: Optional[int] = ..., **kwargs) -> None: ...
    def add_transforms(self, transform_list: List[Type[Transform]]) -> None: ...
    def add_pending(self, pending: pending, priority: Optional[int] = ...) -> None: ...
    def get_priority_string(self, priority: int) -> str: ...
    def populate_from_components(self, components: Iterable[Component]) -> None: ...
    def apply_transforms(self) -> None: ...
