"""
Type stubs for RustyTags - High-performance HTML generation library
"""

from typing import Any, Union, overload

# Type aliases for better type hints
AttributeValue = Union[str, int, float, bool, dict[str, str]]
Child = Union[str, int, float, bool, "HtmlString", "TagBuilder", Any]

class HtmlString:
    """Core HTML content container with optimized memory layout"""
    content: str
    
    def __str__(self) -> str: ...
    def __repr__(self) -> str: ...
    def render(self) -> str: ...
    def _repr_html_(self) -> str: ...
    def __html__(self) -> str: ...

class TagBuilder:
    """Callable tag builder for FastHTML-style chaining"""
    
    def __call__(self, *children: Child, **kwargs: AttributeValue) -> HtmlString:
        """Add children and attributes to create final HTML"""
        ...
    
    def __str__(self) -> str: ...
    def __repr__(self) -> str: ...
    def render(self) -> str: ...
    def _repr_html_(self) -> str: ...
    def __html__(self) -> str: ...

# HTML Tag Functions with overloads for callable functionality

@overload
def A(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def A(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def A(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a hyperlink"""
    ...

@overload
def Abbr(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Abbr(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Abbr(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a abbreviation"""
    ...

@overload
def Address(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Address(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Address(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a contact information"""
    ...

@overload
def Area(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Area(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Area(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a image map area"""
    ...

@overload
def Article(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Article(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Article(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a article content"""
    ...

@overload
def Aside(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Aside(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Aside(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a sidebar content"""
    ...

@overload
def Audio(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Audio(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Audio(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a audio content"""
    ...

@overload
def B(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def B(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def B(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a bold text"""
    ...

@overload
def Base(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Base(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Base(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a document base url"""
    ...

@overload
def Bdi(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Bdi(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Bdi(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a bidirectional text isolation"""
    ...

@overload
def Bdo(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Bdo(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Bdo(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a bidirectional text override"""
    ...

@overload
def Blockquote(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Blockquote(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Blockquote(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a block quotation"""
    ...

@overload
def Body(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Body(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Body(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a document body"""
    ...

@overload
def Br(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Br(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Br(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a line break"""
    ...

@overload
def Button(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Button(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Button(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a clickable button"""
    ...

@overload
def Canvas(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Canvas(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Canvas(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a graphics canvas"""
    ...

@overload
def Caption(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Caption(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Caption(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table caption"""
    ...

@overload
def Cite(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Cite(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Cite(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a citation"""
    ...

@overload
def Code(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Code(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Code(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a computer code"""
    ...

@overload
def Col(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Col(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Col(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table column"""
    ...

@overload
def Colgroup(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Colgroup(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Colgroup(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table column group"""
    ...

@overload
def Data(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Data(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Data(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a machine-readable data"""
    ...

@overload
def Datalist(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Datalist(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Datalist(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a input options list"""
    ...

@overload
def Dd(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Dd(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Dd(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a description list description"""
    ...

@overload
def Del(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Del(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Del(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a deleted text"""
    ...

@overload
def Details(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Details(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Details(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a disclosure widget"""
    ...

@overload
def Dfn(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Dfn(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Dfn(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a definition term"""
    ...

@overload
def Dialog(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Dialog(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Dialog(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a dialog box"""
    ...

@overload
def Div(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Div(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Div(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a division/section"""
    ...

@overload
def Dl(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Dl(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Dl(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a description list"""
    ...

@overload
def Dt(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Dt(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Dt(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a description list term"""
    ...

@overload
def Em(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Em(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Em(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a emphasized text"""
    ...

@overload
def Embed(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Embed(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Embed(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a external content"""
    ...

@overload
def Fieldset(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Fieldset(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Fieldset(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a form field grouping"""
    ...

@overload
def Figcaption(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Figcaption(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Figcaption(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a figure caption"""
    ...

@overload
def Figure(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Figure(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Figure(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a figure with caption"""
    ...

@overload
def Footer(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Footer(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Footer(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a page/section footer"""
    ...

@overload
def Form(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Form(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Form(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a html form"""
    ...

@overload
def H1(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def H1(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def H1(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a level 1 heading"""
    ...

@overload
def H2(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def H2(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def H2(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a level 2 heading"""
    ...

@overload
def H3(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def H3(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def H3(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a level 3 heading"""
    ...

@overload
def H4(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def H4(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def H4(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a level 4 heading"""
    ...

@overload
def H5(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def H5(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def H5(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a level 5 heading"""
    ...

@overload
def H6(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def H6(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def H6(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a level 6 heading"""
    ...

@overload
def Head(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Head(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Head(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a document head"""
    ...

@overload
def Header(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Header(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Header(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a page/section header"""
    ...

@overload
def Hgroup(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Hgroup(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Hgroup(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a heading group"""
    ...

@overload
def Hr(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Hr(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Hr(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a horizontal rule"""
    ...

@overload
def Html(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Html(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Html(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a html document"""
    ...

@overload
def I(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def I(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def I(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a italic text"""
    ...

@overload
def Iframe(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Iframe(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Iframe(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a inline frame"""
    ...

@overload
def Img(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Img(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Img(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a image"""
    ...

@overload
def Input(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Input(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Input(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a input field"""
    ...

@overload
def Ins(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Ins(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Ins(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a inserted text"""
    ...

@overload
def Kbd(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Kbd(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Kbd(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a keyboard input"""
    ...

@overload
def Label(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Label(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Label(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a form label"""
    ...

@overload
def Legend(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Legend(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Legend(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a fieldset legend"""
    ...

@overload
def Li(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Li(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Li(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a list item"""
    ...

@overload
def Link(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Link(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Link(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a external resource link"""
    ...

@overload
def Main(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Main(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Main(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a main content"""
    ...

@overload
def Map(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Map(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Map(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a image map"""
    ...

@overload
def Mark(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Mark(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Mark(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a highlighted text"""
    ...

@overload
def Menu(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Menu(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Menu(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a menu list"""
    ...

@overload
def Meta(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Meta(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Meta(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a metadata"""
    ...

@overload
def Meter(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Meter(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Meter(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a scalar measurement"""
    ...

@overload
def Nav(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Nav(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Nav(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a navigation links"""
    ...

@overload
def Noscript(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Noscript(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Noscript(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a no script fallback"""
    ...

@overload
def Object(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Object(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Object(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a embedded object"""
    ...

@overload
def Ol(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Ol(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Ol(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a ordered list"""
    ...

@overload
def Optgroup(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Optgroup(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Optgroup(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a option group"""
    ...

@overload
def OptionEl(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def OptionEl(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def OptionEl(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a select option"""
    ...

# Alias for proper HTML tag name
Option = OptionEl

@overload
def P(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def P(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def P(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a paragraph"""
    ...

@overload
def Picture(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Picture(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Picture(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a picture container"""
    ...

@overload
def Pre(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Pre(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Pre(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a preformatted text"""
    ...

@overload
def Progress(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Progress(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Progress(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a progress indicator"""
    ...

@overload
def Q(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Q(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Q(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a short quotation"""
    ...

@overload
def Rp(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Rp(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Rp(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a ruby parentheses"""
    ...

@overload
def Rt(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Rt(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Rt(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a ruby text"""
    ...

@overload
def Ruby(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Ruby(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Ruby(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a ruby annotation"""
    ...

@overload
def S(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def S(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def S(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a strikethrough text"""
    ...

@overload
def Samp(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Samp(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Samp(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a sample output"""
    ...

@overload
def Script(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Script(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Script(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a client-side script"""
    ...

@overload
def Section(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Section(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Section(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a document section"""
    ...

@overload
def Select(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Select(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Select(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a dropdown list"""
    ...

@overload
def Small(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Small(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Small(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a small text"""
    ...

@overload
def Source(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Source(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Source(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a media resource"""
    ...

@overload
def Span(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Span(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Span(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a inline section"""
    ...

@overload
def Strong(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Strong(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Strong(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a important text"""
    ...

@overload
def Style(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Style(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Style(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a style information"""
    ...

@overload
def Sub(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Sub(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Sub(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a subscript"""
    ...

@overload
def Summary(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Summary(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Summary(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a details summary"""
    ...

@overload
def Sup(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Sup(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Sup(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a superscript"""
    ...

@overload
def Table(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Table(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Table(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table"""
    ...

@overload
def Tbody(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Tbody(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Tbody(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table body"""
    ...

@overload
def Td(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Td(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Td(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table cell"""
    ...

@overload
def Template(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Template(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Template(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a template container"""
    ...

@overload
def Textarea(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Textarea(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Textarea(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a multiline text input"""
    ...

@overload
def Tfoot(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Tfoot(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Tfoot(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table footer"""
    ...

@overload
def Th(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Th(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Th(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table header cell"""
    ...

@overload
def Thead(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Thead(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Thead(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table header"""
    ...

@overload
def Time(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Time(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Time(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a date/time"""
    ...

@overload
def Title(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Title(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Title(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a document title"""
    ...

@overload
def Tr(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Tr(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Tr(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a table row"""
    ...

@overload
def Track(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Track(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Track(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a media track"""
    ...

@overload
def U(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def U(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def U(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a underlined text"""
    ...

@overload
def Ul(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Ul(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Ul(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a unordered list"""
    ...

@overload
def Var(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Var(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Var(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a variable"""
    ...

@overload
def Video(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Video(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Video(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a video content"""
    ...

@overload
def Wbr(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Wbr(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Wbr(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a word break opportunity"""
    ...

# SVG Tag Functions

@overload
def Svg(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Svg(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Svg(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a svg graphics container"""
    ...

@overload
def Circle(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Circle(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Circle(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a circle in svg"""
    ...

@overload
def Rect(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Rect(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Rect(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a rectangle in svg"""
    ...

@overload
def Line(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Line(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Line(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a line in svg"""
    ...

@overload
def Path(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Path(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Path(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a path in svg"""
    ...

@overload
def Polygon(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Polygon(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Polygon(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a polygon in svg"""
    ...

@overload
def Polyline(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Polyline(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Polyline(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a polyline in svg"""
    ...

@overload
def Ellipse(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Ellipse(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Ellipse(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a ellipse in svg"""
    ...

@overload
def Text(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Text(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Text(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a text in svg"""
    ...

@overload
def G(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def G(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def G(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a group in svg"""
    ...

@overload
def Defs(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Defs(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Defs(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a reusable svg elements"""
    ...

@overload
def Use(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Use(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Use(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a reusable svg element instance"""
    ...

@overload
def Symbol(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Symbol(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Symbol(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a reusable svg symbol"""
    ...

@overload
def Marker(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Marker(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Marker(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a marker for svg shapes"""
    ...

@overload
def LinearGradient(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def LinearGradient(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def LinearGradient(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a linear gradient in svg"""
    ...

@overload
def RadialGradient(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def RadialGradient(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def RadialGradient(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a radial gradient in svg"""
    ...

@overload
def Stop(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Stop(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Stop(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a gradient stop in svg"""
    ...

@overload
def Pattern(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Pattern(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Pattern(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a pattern in svg"""
    ...

@overload
def ClipPath(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def ClipPath(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def ClipPath(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a clipping path in svg"""
    ...

@overload
def Mask(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Mask(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Mask(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a mask in svg"""
    ...

@overload
def Image(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def Image(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def Image(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a image in svg"""
    ...

@overload
def ForeignObject(**kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def ForeignObject(*children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def ForeignObject(*children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Defines a foreign content in svg"""
    ...

# Custom tag function
@overload
def CustomTag(tag_name: str, **kwargs: AttributeValue) -> TagBuilder: ...
@overload  
def CustomTag(tag_name: str, *children: Child, **kwargs: AttributeValue) -> HtmlString: ...
def CustomTag(tag_name: str, *children: Child, **kwargs: AttributeValue) -> Union[TagBuilder, HtmlString]:
    """Creates a custom HTML tag with any tag name"""
    ...

__version__: str
__author__: str 
__description__: str
