from _typeshed import Incomplete
from docassemble.base import pandoc as pandoc
from docassemble.base.functions import server as server, word as word
from docassemble.base.logger import logmessage as logmessage
from docassemble.base.rtfng.object.picture import Image as Image

QPDF_PATH: str
NoneType: Incomplete
zerowidth: str
DEFAULT_PAGE_WIDTH: str
term_start: Incomplete
term_match: Incomplete
noquote_match: Incomplete
lt_match: Incomplete
gt_match: Incomplete
amp_match: Incomplete
emoji_match: Incomplete
extension_match: Incomplete
map_match: Incomplete
code_match: Incomplete

def set_default_page_width(width) -> None: ...
def get_default_page_width(): ...

DEFAULT_IMAGE_WIDTH: str

def set_default_image_width(width) -> None: ...
def get_default_image_width(): ...

MAX_HEIGHT_POINTS: Incomplete

def set_max_height_points(points) -> None: ...
def get_max_height_points(): ...

MAX_WIDTH_POINTS: Incomplete

def set_max_width_points(points) -> None: ...
def get_max_width_points(): ...

rtf_spacing: Incomplete
rtf_after_space: Incomplete

def rtf_prefilter(text): ...
def repeat_along(chars, match): ...
def rtf_filter(text, metadata: Incomplete | None = ..., styles: Incomplete | None = ..., question: Incomplete | None = ...): ...
def docx_filter(text, metadata: Incomplete | None = ..., question: Incomplete | None = ...): ...
def docx_template_filter(text, question: Incomplete | None = ..., replace_newlines: bool = ...): ...
def metadata_filter(text, doc_format): ...
def redact_latex(match): ...
def pdf_filter(text, metadata: Incomplete | None = ..., question: Incomplete | None = ...): ...
def html_filter(text, status: Incomplete | None = ..., question: Incomplete | None = ..., embedder: Incomplete | None = ..., default_image_width: Incomplete | None = ..., external: bool = ...): ...
def clean_markdown_to_latex(string): ...
def map_string(encoded_text, status): ...
def target_html(match): ...
def pdf_two_col(match, add_line: bool = ...): ...
def html_caption(match): ...
def html_two_col(match): ...
def pdf_caption(match): ...
def add_newlines(string): ...
def border_pdf(match): ...
def flushleft_pdf(match): ...
def flushright_pdf(match): ...
def center_pdf(match): ...
def boldcenter_pdf(match): ...
def indentby_left_pdf(match): ...
def indentby_both_pdf(match): ...
def borderify(string): ...
def image_as_rtf(match, question: Incomplete | None = ...): ...
def qr_as_rtf(match): ...
def rtf_image(file_info, width, insert_page_breaks): ...

unit_multipliers: Incomplete

def convert_length(length, unit): ...
def pixels_in(length): ...
def image_url_string(match, emoji: bool = ..., question: Incomplete | None = ..., default_image_width: Incomplete | None = ..., external: bool = ..., status: Incomplete | None = ...): ...
def image_url(file_reference, alt_text, width, emoji: bool = ..., question: Incomplete | None = ..., external: bool = ..., status: Incomplete | None = ...): ...
def qr_url_string(match): ...
def convert_pixels(match): ...
def convert_percent(match): ...
def image_include_string(match, emoji: bool = ..., question: Incomplete | None = ...): ...
def image_include_docx(match, question: Incomplete | None = ...): ...
def qr_include_string(match): ...
def qr_include_docx(match): ...
def rtf_caption_table(match): ...
def rtf_two_col(match): ...
def get_icon_html(text): ...
def emoji_html(text, status: Incomplete | None = ..., question: Incomplete | None = ..., images: Incomplete | None = ...): ...
def emoji_insert(text, status: Incomplete | None = ..., images: Incomplete | None = ...): ...
def link_rewriter(m, status): ...
def sub_term(m): ...
def markdown_to_html(a, trim: bool = ..., pclass: Incomplete | None = ..., status: Incomplete | None = ..., question: Incomplete | None = ..., use_pandoc: bool = ..., escape: bool = ..., do_terms: bool = ..., strip_newlines: Incomplete | None = ..., divclass: Incomplete | None = ..., embedder: Incomplete | None = ..., default_image_width: Incomplete | None = ..., external: bool = ..., verbatim: bool = ...): ...
def my_escape(result): ...
def noquote(string): ...
def add_terms_mako(termname, terms, status: Incomplete | None = ..., question: Incomplete | None = ...): ...
def add_terms(termname, terms, label: Incomplete | None = ..., status: Incomplete | None = ..., question: Incomplete | None = ...): ...
def audio_control(files, preload: str = ..., title_text: Incomplete | None = ...): ...
def video_control(files): ...
def get_audio_urls(the_audio, question: Incomplete | None = ...): ...
def get_video_urls(the_video, question: Incomplete | None = ...): ...
def process_target(text): ...
def to_text(html_doc, terms, links): ...

bad_list: Incomplete
good_list: Incomplete

def do_show(element): ...
def hidden(element): ...
def replace_fields(string, status: Incomplete | None = ..., embedder: Incomplete | None = ...): ...
def image_include_docx_template(match, question: Incomplete | None = ...): ...
def qr_include_docx_template(match): ...
def ensure_valid_filename(filename): ...
def convert_svg_to_eps(file_info) -> None: ...
def convert_svg_to_png(file_info) -> None: ...
