--- /dev/null
+from logging import Logger
+from typing import Any, Match, Pattern
+from xml.etree.ElementTree import Element
+
+from markdown import Markdown
+
+from .blockparser import BlockParser
+
+logger: Logger
+
+def build_block_parser(md: Markdown, **kwargs: Any): ...
+
+class BlockProcessor:
+ parser: BlockParser
+ tab_length: int
+ def __init__(self, parser: BlockParser) -> None: ...
+ def lastChild(self, parent: Element) -> Element | None: ...
+ def detab(self, text: str, length: int | None = ...): ...
+ def looseDetab(self, text: str, level: int = ...): ...
+ def test(self, parent: Element, block: str) -> None: ...
+ def run(self, parent: Element, blocks: list[str]) -> None: ...
+
+class ListIndentProcessor(BlockProcessor):
+ ITEM_TYPES: list[str]
+ LIST_TYPES: list[str]
+ INDENT_RE: Pattern[str]
+ def __init__(self, parser: BlockParser) -> None: ... # Note: This was done because the args are sent as-is.
+ def create_item(self, parent: Element, block: str) -> None: ...
+ def get_level(self, parent: Element, block: str) -> tuple[int, Element]: ...
+
+class CodeBlockProcessor(BlockProcessor): ...
+
+class BlockQuoteProcessor(BlockProcessor):
+ RE: Pattern[str]
+ def clean(self, line: str) -> str: ...
+
+class OListProcessor(BlockProcessor):
+ TAG: str = ...
+ STARTSWITH: str = ...
+ LAZY_OL: bool = ...
+ SIBLING_TAGS: list[str]
+ RE: Pattern[str]
+ CHILD_RE: Pattern[str]
+ INDENT_RE: Pattern[str]
+ def __init__(self, parser: BlockParser) -> None: ...
+ def get_items(self, block: str) -> list[str]: ...
+
+class UListProcessor(OListProcessor):
+ TAG: str = ...
+ RE: Pattern[str]
+ def __init__(self, parser: BlockParser) -> None: ...
+
+class HashHeaderProcessor(BlockProcessor):
+ RE: Pattern[str]
+
+class SetextHeaderProcessor(BlockProcessor):
+ RE: Pattern[str]
+
+class HRProcessor(BlockProcessor):
+ RE: str = ...
+ SEARCH_RE: Pattern[str]
+ match: Match[str]
+
+class EmptyBlockProcessor(BlockProcessor): ...
+
+class ReferenceProcessor(BlockProcessor):
+ RE: Pattern[str]
+
+class ParagraphProcessor(BlockProcessor): ...