from _typeshed import Incomplete
from docassemble.base.error import DAError as DAError
from docassemble.base.functions import get_config as get_config, package_template_filename as package_template_filename, roman as roman, server as server, this_thread as this_thread
from docassemble.base.logger import logmessage as logmessage

zerowidth: str
QPDF_PATH: str
NoneType: Incomplete
DEFAULT_PAGE_WIDTH: str
list_types: Incomplete

def image_for_docx(fileref, question, tpl, width: Incomplete | None = ...): ...
def transform_for_docx(text): ...
def create_hyperlink(url, anchor_text, tpl): ...

class InlineHyperlink:
    tpl: Incomplete
    url: Incomplete
    anchor_text: Incomplete
    def __init__(self, tpl, url, anchor_text) -> None: ...
    def _insert_link(self): ...
    def __str__(self): ...

def fix_subdoc(masterdoc, subdoc_info) -> None: ...
def include_docx_template(template_file, **kwargs): ...
def get_children(descendants, parsed): ...
def html_linear_parse(soup): ...
def Alpha(number): ...
def alpha(number): ...
def Roman_Numeral(number): ...
def roman_numeral(number): ...

class SoupParser:
    paragraphs: Incomplete
    current_paragraph: Incomplete
    run: Incomplete
    bold: bool
    center: bool
    list_number: int
    list_type: Incomplete
    italic: bool
    underline: bool
    strike: bool
    indentation: int
    style: str
    still_new: bool
    size: Incomplete
    charstyle: Incomplete
    color: Incomplete
    tpl: Incomplete
    def __init__(self, tpl) -> None: ...
    def new_paragraph(self, classes, styles) -> None: ...
    def set_attribs(self, classes, styles) -> None: ...
    def __str__(self): ...
    def start_link(self, url) -> None: ...
    def end_link(self) -> None: ...
    def new_run(self) -> None: ...
    def traverse(self, elem) -> None: ...

class InlineSoupParser:
    runs: Incomplete
    run: Incomplete
    bold: bool
    italic: bool
    underline: bool
    indentation: int
    style: str
    strike: bool
    size: Incomplete
    charstyle: Incomplete
    color: Incomplete
    tpl: Incomplete
    at_start: bool
    list_number: int
    list_type: Incomplete
    def __init__(self, tpl) -> None: ...
    def new_paragraph(self) -> None: ...
    def __str__(self): ...
    def start_link(self, url) -> None: ...
    def end_link(self) -> None: ...
    def new_run(self) -> None: ...
    def traverse(self, elem) -> None: ...

def inline_markdown_to_docx(text, question, tpl): ...
def markdown_to_docx(text, question, tpl): ...
def pdf_pages(file_info, width): ...
def concatenate_files(path_list): ...
def sanitize_xml(text): ...
