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

from docutils import nodes
from docutils.transforms import Transform
from typing import Dict, Generator, List, Optional, Set, Text, Tuple, Type

__docformat__: str

class Decorations(Transform):
    default_priority: int = ...
    def apply(self) -> None: ...  # type: ignore
    def generate_header(self) -> Optional[nodes.Node]: ...
    def generate_footer(self) -> Optional[List[nodes.paragraph]]: ...

class ExposeInternals(Transform):
    default_priority: int = ...
    def not_Text(self, node: nodes.Node) -> bool: ...
    def apply(self) -> None: ...  # type: ignore

class Messages(Transform):
    default_priority: int = ...
    def apply(self) -> None: ...  # type: ignore

class FilterMessages(Transform):
    default_priority: int = ...
    def apply(self) -> None: ...  # type: ignore

class TestMessages(Transform):
    default_priority: int = ...
    def apply(self) -> None: ...  # type: ignore

class StripComments(Transform):
    default_priority: int = ...
    def apply(self) -> None: ...  # type: ignore

class StripClassesAndElements(Transform):
    default_priority: int = ...
    strip_elements: Dict[Type, None] = ...
    strip_classes: Dict[Type, None] = ...
    def apply(self) -> None: ...  # type: ignore
    def check_classes(self, node: nodes.Node) -> Optional[int]: ...

class SmartQuotes(Transform):
    default_priority: int = ...
    nodes_to_skip: Tuple[nodes.Node, ...] = ...
    literal_nodes: Tuple[nodes.Node, ...] = ...
    smartquotes_action: str = ...
    unsupported_languages: Set[str] = ...
    def __init__(self, document: nodes.document, startnode: nodes.Node) -> None: ...
    def get_tokens(self, txtnodes: List[nodes.Text]) -> Generator[Tuple[str, Text], None, None]: ...
    def apply(self) -> None: ...  # type: ignore
