from _typeshed import Incomplete
from docassemble.base.config import daconfig as daconfig
from docassemble.base.filter import audio_control as audio_control, get_audio_urls as get_audio_urls, get_icon_html as get_icon_html, get_video_urls as get_video_urls, markdown_to_html as markdown_to_html, my_escape as my_escape, noquote as noquote, process_target as process_target, to_text as to_text, video_control as video_control
from docassemble.base.functions import comma_and_list as comma_and_list, custom_types as custom_types, get_currency_symbol as get_currency_symbol, get_locale as get_locale, server as server, word as word
from docassemble.base.logger import logmessage as logmessage
from docassemble.base.parse import Question as Question
from docassemble.base.util import format_date as format_date, format_datetime as format_datetime, format_time as format_time
from html.parser import HTMLParser

equals_byte: Incomplete
NoneType: Incomplete
STRICT_MODE: Incomplete
DECORATION_SIZE: Incomplete
DECORATION_UNITS: Incomplete
BUTTON_ICON_SIZE: Incomplete
BUTTON_ICON_UNITS: Incomplete
BUTTON_CLASS: str
BUTTON_STYLE: str
BUTTON_COLOR: Incomplete
BUTTON_COLOR_YES: Incomplete
BUTTON_COLOR_NO: Incomplete
BUTTON_COLOR_MAYBE: Incomplete
BUTTON_COLOR_CLEAR: Incomplete
BUTTON_COLOR_BACK: Incomplete
BUTTON_COLOR_REGISTER: Incomplete
BUTTON_COLOR_NEW_SESSION: Incomplete
BUTTON_COLOR_LEAVE: Incomplete
BUTTON_COLOR_URL: Incomplete
BUTTON_COLOR_RESTART: Incomplete
BUTTON_COLOR_REFRESH: Incomplete
BUTTON_COLOR_SIGNIN: Incomplete
BUTTON_COLOR_EXIT: Incomplete
BUTTON_COLOR_LOGOUT: Incomplete
BUTTON_COLOR_SEND: Incomplete
BUTTON_COLOR_DOWNLOAD: Incomplete
BUTTON_COLOR_REVIEW: Incomplete
BUTTON_COLOR_ADD: Incomplete
BUTTON_COLOR_DELETE: Incomplete
BUTTON_COLOR_UNDELETE: Incomplete
BUTTON_COLOR_HELP: Incomplete
BUTTON_COLOR_QUESTION_HELP: Incomplete
BUTTON_COLOR_BACK_TO_QUESTION: Incomplete
DEFAULT_LABELAUTY_COLOR: Incomplete
DEFAULT_LABELAUTY_NOTA_COLOR: Incomplete
DEFAULT_LABELAUTY_AOTA_COLOR: Incomplete

def process_help(help_section, status, full_page: bool = ...): ...
def tracker_tag(status): ...
def datatype_tag(datatypes): ...
def varname_tag(varnames): ...
def icon_html(status, name, width_value: float = ..., width_units: str = ...): ...
def get_choices_with_abb(status, field, the_user_dict, terms: Incomplete | None = ..., links: Incomplete | None = ...): ...

sms_bad_words: Incomplete

def try_to_abbreviate(label, flabel, data, length): ...
def as_sms(status, the_user_dict, links: Incomplete | None = ..., menu_items: Incomplete | None = ...): ...
def embed_input(status, variable): ...
def help_wrap(content, helptext, status): ...
def as_html(status, debug, root, validation_rules, field_error, the_progress_bar, steps): ...
def add_validation(extra_scripts, validation_rules, field_error) -> None: ...
def locale_format_string(the_value): ...
def double_to_single_newline(text): ...
def is_in_checkbox(field, defaultvalue, pair): ...
def input_for(status, field, wide: bool = ..., embedded: bool = ..., floating_label: Incomplete | None = ...): ...
def myb64doublequote(text): ...
def myb64quote(text): ...
def repad(text): ...
def indent_by(text, num): ...
def safeid(text): ...
def from_safeid(text): ...
def escape_id(text): ...
def do_escape_id(text): ...
def escape_for_jquery(text): ...
def myb64unquote(the_string): ...
def strip_quote(the_string): ...
def safe_html(the_string): ...
def the_currency_symbol(status, field): ...
def fix_double_quote(the_string): ...
def option_escape(the_string): ...

class MLStripper(HTMLParser):
    strict: bool
    convert_charrefs: bool
    text: Incomplete
    def __init__(self) -> None: ...
    def handle_data(self, data) -> None: ...
    def get_data(self): ...
    def error(self, message) -> None: ...

def strip_tags(html): ...
def clean_whitespace(text): ...
