"""
Dom Element
"""
# __pragma__ ('skip')
import json
import os


def buildjs(srcpath: str, distpath: str=...) -> None: ...

# __pragma__ ('noskip')


def tofixed(num, *, precision) -> str: ...


def uncapitalize_name(name: str) -> str: ...


class Div:
    JSVOID: str = ...
    def __init__(self, *children, **attrs) -> None: ...
    def _dump_head(self): ...
    def dumps(self) -> str: ...


def HtmlPage(*nodes, title=..., https=False) -> Div: ...
def FlexRow(*nodes, Id=None) -> Div: ...
def FlexItem(*nodes, Id=None) -> Div: ...
def Button(text, *, Onclick:str, primary=False, warn=False, Id=None) -> Div: ...
def TextInput(title, *, Id, Name=None, Value=None, Type=...) -> Div: ...
def FileInput(title, *, Id, Name=None) -> Div: ...
def SelectInput(title, *options, Id, Name=None, Value=None, Onchange=None) -> Div: ...
def SelectOption(text, *, Value, selected=False) -> Div: ...
def TextArea(title, *, Id, Name=None, Rows:int=...) -> Div: ...
def Link(text, *, Url, Id=None) -> Div: ...
def Module(From:str, Import:str, As:str, Path=...) -> Div: ...


# Transcrypt only
class Kit:
    @staticmethod
    def ajax(method, url, data=None, headers=None, contentType=None, onsuccess=None, onerror=None, **kw): ...
    @staticmethod
    def request(*, method, url, data=None, headers=None, json=False, onsuccess=None, onerror=None): ...
    @staticmethod
    def get_json(url, data, onsuccess): ...
    @staticmethod
    def select(selector): ...
    @staticmethod
    def onload(handler): ...
    @staticmethod
    def param(data): ...
    @staticmethod
    def parseJSON(text): ...
    @staticmethod
    def stringifyJSON(data): ...
    @staticmethod
    def print(obj): ...
    @staticmethod
    def alert(text, ondone=None): ...
    @staticmethod
    def confirm(text, onconfirm=None, oncancel=None): ...
    @staticmethod
    def reload(): ...
    @staticmethod
    def goto(url): ...
    @staticmethod
    def form_data(*selectors): ...


# Transcrypt only
class Storage:
    def __init__(self, name, expire=False) -> None: ...
    def get(self): ...
    def set(self, value): ...
