"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
*!
Copyright (c) Streamlit Inc. (2018-2022) Snowflake Inc. (2022-2026)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from streamlit.proto import Alert_pb2 as _Alert_pb2
from streamlit.proto import AudioInput_pb2 as _AudioInput_pb2
from streamlit.proto import Audio_pb2 as _Audio_pb2
from streamlit.proto import Balloons_pb2 as _Balloons_pb2
from streamlit.proto import BidiComponent_pb2 as _BidiComponent_pb2
from streamlit.proto import ButtonGroup_pb2 as _ButtonGroup_pb2
from streamlit.proto import Button_pb2 as _Button_pb2
from streamlit.proto import CameraInput_pb2 as _CameraInput_pb2
from streamlit.proto import ChatInput_pb2 as _ChatInput_pb2
from streamlit.proto import Checkbox_pb2 as _Checkbox_pb2
from streamlit.proto import Code_pb2 as _Code_pb2
from streamlit.proto import ColorPicker_pb2 as _ColorPicker_pb2
from streamlit.proto import Components_pb2 as _Components_pb2
from streamlit.proto import Dataframe_pb2 as _Dataframe_pb2
from streamlit.proto import DateInput_pb2 as _DateInput_pb2
from streamlit.proto import DateTimeInput_pb2 as _DateTimeInput_pb2
from streamlit.proto import DeckGlJsonChart_pb2 as _DeckGlJsonChart_pb2
from streamlit.proto import DownloadButton_pb2 as _DownloadButton_pb2
from streamlit.proto import Empty_pb2 as _Empty_pb2
from streamlit.proto import Exception_pb2 as _Exception_pb2
from streamlit.proto import Favicon_pb2 as _Favicon_pb2
from streamlit.proto import Feedback_pb2 as _Feedback_pb2
from streamlit.proto import FileUploader_pb2 as _FileUploader_pb2
from streamlit.proto import GraphVizChart_pb2 as _GraphVizChart_pb2
from streamlit.proto import Heading_pb2 as _Heading_pb2
from streamlit.proto import HeightConfig_pb2 as _HeightConfig_pb2
from streamlit.proto import Help_pb2 as _Help_pb2
from streamlit.proto import Html_pb2 as _Html_pb2
from streamlit.proto import IFrame_pb2 as _IFrame_pb2
from streamlit.proto import Image_pb2 as _Image_pb2
from streamlit.proto import Json_pb2 as _Json_pb2
from streamlit.proto import LinkButton_pb2 as _LinkButton_pb2
from streamlit.proto import Markdown_pb2 as _Markdown_pb2
from streamlit.proto import MenuButton_pb2 as _MenuButton_pb2
from streamlit.proto import Metric_pb2 as _Metric_pb2
from streamlit.proto import MultiSelect_pb2 as _MultiSelect_pb2
from streamlit.proto import NumberInput_pb2 as _NumberInput_pb2
from streamlit.proto import PageLink_pb2 as _PageLink_pb2
from streamlit.proto import PlotlyChart_pb2 as _PlotlyChart_pb2
from streamlit.proto import Progress_pb2 as _Progress_pb2
from streamlit.proto import Radio_pb2 as _Radio_pb2
from streamlit.proto import Selectbox_pb2 as _Selectbox_pb2
from streamlit.proto import Skeleton_pb2 as _Skeleton_pb2
from streamlit.proto import Slider_pb2 as _Slider_pb2
from streamlit.proto import Snow_pb2 as _Snow_pb2
from streamlit.proto import Space_pb2 as _Space_pb2
from streamlit.proto import Spinner_pb2 as _Spinner_pb2
from streamlit.proto import Table_pb2 as _Table_pb2
from streamlit.proto import TextAlignmentConfig_pb2 as _TextAlignmentConfig_pb2
from streamlit.proto import TextArea_pb2 as _TextArea_pb2
from streamlit.proto import TextInput_pb2 as _TextInput_pb2
from streamlit.proto import Text_pb2 as _Text_pb2
from streamlit.proto import TimeInput_pb2 as _TimeInput_pb2
from streamlit.proto import Toast_pb2 as _Toast_pb2
from streamlit.proto import VegaLiteChart_pb2 as _VegaLiteChart_pb2
from streamlit.proto import Video_pb2 as _Video_pb2
from streamlit.proto import WidthConfig_pb2 as _WidthConfig_pb2
import builtins as _builtins
import sys
import typing as _typing

if sys.version_info >= (3, 10):
    from typing import TypeAlias as _TypeAlias
else:
    from typing_extensions import TypeAlias as _TypeAlias

DESCRIPTOR: _descriptor.FileDescriptor

@_typing.final
class Element(_message.Message):
    """An element which can be displayed on the screen."""

    DESCRIPTOR: _descriptor.Descriptor

    HEIGHT_CONFIG_FIELD_NUMBER: _builtins.int
    WIDTH_CONFIG_FIELD_NUMBER: _builtins.int
    TEXT_ALIGNMENT_CONFIG_FIELD_NUMBER: _builtins.int
    ALERT_FIELD_NUMBER: _builtins.int
    DATAFRAME_FIELD_NUMBER: _builtins.int
    TABLE_FIELD_NUMBER: _builtins.int
    VEGA_LITE_CHART_FIELD_NUMBER: _builtins.int
    AUDIO_FIELD_NUMBER: _builtins.int
    AUDIO_INPUT_FIELD_NUMBER: _builtins.int
    BALLOONS_FIELD_NUMBER: _builtins.int
    BIDI_COMPONENT_FIELD_NUMBER: _builtins.int
    BUTTON_FIELD_NUMBER: _builtins.int
    BUTTON_GROUP_FIELD_NUMBER: _builtins.int
    DOWNLOAD_BUTTON_FIELD_NUMBER: _builtins.int
    CAMERA_INPUT_FIELD_NUMBER: _builtins.int
    CHAT_INPUT_FIELD_NUMBER: _builtins.int
    CHECKBOX_FIELD_NUMBER: _builtins.int
    COLOR_PICKER_FIELD_NUMBER: _builtins.int
    COMPONENT_INSTANCE_FIELD_NUMBER: _builtins.int
    DATE_INPUT_FIELD_NUMBER: _builtins.int
    DECK_GL_JSON_CHART_FIELD_NUMBER: _builtins.int
    HELP_INFO_FIELD_NUMBER: _builtins.int
    EMPTY_FIELD_NUMBER: _builtins.int
    EXCEPTION_FIELD_NUMBER: _builtins.int
    FAVICON_FIELD_NUMBER: _builtins.int
    FEEDBACK_FIELD_NUMBER: _builtins.int
    FILE_UPLOADER_FIELD_NUMBER: _builtins.int
    GRAPHVIZ_CHART_FIELD_NUMBER: _builtins.int
    HTML_FIELD_NUMBER: _builtins.int
    IFRAME_FIELD_NUMBER: _builtins.int
    IMGS_FIELD_NUMBER: _builtins.int
    JSON_FIELD_NUMBER: _builtins.int
    LINK_BUTTON_FIELD_NUMBER: _builtins.int
    MARKDOWN_FIELD_NUMBER: _builtins.int
    METRIC_FIELD_NUMBER: _builtins.int
    MULTISELECT_FIELD_NUMBER: _builtins.int
    NUMBER_INPUT_FIELD_NUMBER: _builtins.int
    PAGE_LINK_FIELD_NUMBER: _builtins.int
    PLOTLY_CHART_FIELD_NUMBER: _builtins.int
    PROGRESS_FIELD_NUMBER: _builtins.int
    RADIO_FIELD_NUMBER: _builtins.int
    SELECTBOX_FIELD_NUMBER: _builtins.int
    SKELETON_FIELD_NUMBER: _builtins.int
    SLIDER_FIELD_NUMBER: _builtins.int
    SNOW_FIELD_NUMBER: _builtins.int
    SPACE_FIELD_NUMBER: _builtins.int
    SPINNER_FIELD_NUMBER: _builtins.int
    TEXT_FIELD_NUMBER: _builtins.int
    TEXT_AREA_FIELD_NUMBER: _builtins.int
    TEXT_INPUT_FIELD_NUMBER: _builtins.int
    TIME_INPUT_FIELD_NUMBER: _builtins.int
    DATE_TIME_INPUT_FIELD_NUMBER: _builtins.int
    TOAST_FIELD_NUMBER: _builtins.int
    VIDEO_FIELD_NUMBER: _builtins.int
    HEADING_FIELD_NUMBER: _builtins.int
    CODE_FIELD_NUMBER: _builtins.int
    MENU_BUTTON_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def height_config(self) -> _HeightConfig_pb2.HeightConfig:
        """Layout configuration for elements"""

    @_builtins.property
    def width_config(self) -> _WidthConfig_pb2.WidthConfig: ...
    @_builtins.property
    def text_alignment_config(self) -> _TextAlignmentConfig_pb2.TextAlignmentConfig: ...
    @_builtins.property
    def alert(self) -> _Alert_pb2.Alert: ...
    @_builtins.property
    def dataframe(self) -> _Dataframe_pb2.Dataframe: ...
    @_builtins.property
    def table(self) -> _Table_pb2.Table: ...
    @_builtins.property
    def vega_lite_chart(self) -> _VegaLiteChart_pb2.VegaLiteChart: ...
    @_builtins.property
    def audio(self) -> _Audio_pb2.Audio: ...
    @_builtins.property
    def audio_input(self) -> _AudioInput_pb2.AudioInput: ...
    @_builtins.property
    def balloons(self) -> _Balloons_pb2.Balloons: ...
    @_builtins.property
    def bidi_component(self) -> _BidiComponent_pb2.BidiComponent: ...
    @_builtins.property
    def button(self) -> _Button_pb2.Button: ...
    @_builtins.property
    def button_group(self) -> _ButtonGroup_pb2.ButtonGroup: ...
    @_builtins.property
    def download_button(self) -> _DownloadButton_pb2.DownloadButton: ...
    @_builtins.property
    def camera_input(self) -> _CameraInput_pb2.CameraInput: ...
    @_builtins.property
    def chat_input(self) -> _ChatInput_pb2.ChatInput: ...
    @_builtins.property
    def checkbox(self) -> _Checkbox_pb2.Checkbox: ...
    @_builtins.property
    def color_picker(self) -> _ColorPicker_pb2.ColorPicker: ...
    @_builtins.property
    def component_instance(self) -> _Components_pb2.ComponentInstance: ...
    @_builtins.property
    def date_input(self) -> _DateInput_pb2.DateInput: ...
    @_builtins.property
    def deck_gl_json_chart(self) -> _DeckGlJsonChart_pb2.DeckGlJsonChart: ...
    @_builtins.property
    def help_info(self) -> _Help_pb2.Help: ...
    @_builtins.property
    def empty(self) -> _Empty_pb2.Empty: ...
    @_builtins.property
    def exception(self) -> _Exception_pb2.Exception: ...
    @_builtins.property
    def favicon(self) -> _Favicon_pb2.Favicon: ...
    @_builtins.property
    def feedback(self) -> _Feedback_pb2.Feedback: ...
    @_builtins.property
    def file_uploader(self) -> _FileUploader_pb2.FileUploader: ...
    @_builtins.property
    def graphviz_chart(self) -> _GraphVizChart_pb2.GraphVizChart: ...
    @_builtins.property
    def html(self) -> _Html_pb2.Html: ...
    @_builtins.property
    def iframe(self) -> _IFrame_pb2.IFrame: ...
    @_builtins.property
    def imgs(self) -> _Image_pb2.ImageList: ...
    @_builtins.property
    def json(self) -> _Json_pb2.Json: ...
    @_builtins.property
    def link_button(self) -> _LinkButton_pb2.LinkButton: ...
    @_builtins.property
    def markdown(self) -> _Markdown_pb2.Markdown: ...
    @_builtins.property
    def metric(self) -> _Metric_pb2.Metric: ...
    @_builtins.property
    def multiselect(self) -> _MultiSelect_pb2.MultiSelect: ...
    @_builtins.property
    def number_input(self) -> _NumberInput_pb2.NumberInput: ...
    @_builtins.property
    def page_link(self) -> _PageLink_pb2.PageLink: ...
    @_builtins.property
    def plotly_chart(self) -> _PlotlyChart_pb2.PlotlyChart: ...
    @_builtins.property
    def progress(self) -> _Progress_pb2.Progress: ...
    @_builtins.property
    def radio(self) -> _Radio_pb2.Radio: ...
    @_builtins.property
    def selectbox(self) -> _Selectbox_pb2.Selectbox: ...
    @_builtins.property
    def skeleton(self) -> _Skeleton_pb2.Skeleton: ...
    @_builtins.property
    def slider(self) -> _Slider_pb2.Slider: ...
    @_builtins.property
    def snow(self) -> _Snow_pb2.Snow: ...
    @_builtins.property
    def space(self) -> _Space_pb2.Space: ...
    @_builtins.property
    def spinner(self) -> _Spinner_pb2.Spinner: ...
    @_builtins.property
    def text(self) -> _Text_pb2.Text: ...
    @_builtins.property
    def text_area(self) -> _TextArea_pb2.TextArea: ...
    @_builtins.property
    def text_input(self) -> _TextInput_pb2.TextInput: ...
    @_builtins.property
    def time_input(self) -> _TimeInput_pb2.TimeInput: ...
    @_builtins.property
    def date_time_input(self) -> _DateTimeInput_pb2.DateTimeInput: ...
    @_builtins.property
    def toast(self) -> _Toast_pb2.Toast: ...
    @_builtins.property
    def video(self) -> _Video_pb2.Video: ...
    @_builtins.property
    def heading(self) -> _Heading_pb2.Heading: ...
    @_builtins.property
    def code(self) -> _Code_pb2.Code: ...
    @_builtins.property
    def menu_button(self) -> _MenuButton_pb2.MenuButton:
        """Next ID: 65"""

    def __init__(
        self,
        *,
        height_config: _HeightConfig_pb2.HeightConfig | None = ...,
        width_config: _WidthConfig_pb2.WidthConfig | None = ...,
        text_alignment_config: _TextAlignmentConfig_pb2.TextAlignmentConfig | None = ...,
        alert: _Alert_pb2.Alert | None = ...,
        dataframe: _Dataframe_pb2.Dataframe | None = ...,
        table: _Table_pb2.Table | None = ...,
        vega_lite_chart: _VegaLiteChart_pb2.VegaLiteChart | None = ...,
        audio: _Audio_pb2.Audio | None = ...,
        audio_input: _AudioInput_pb2.AudioInput | None = ...,
        balloons: _Balloons_pb2.Balloons | None = ...,
        bidi_component: _BidiComponent_pb2.BidiComponent | None = ...,
        button: _Button_pb2.Button | None = ...,
        button_group: _ButtonGroup_pb2.ButtonGroup | None = ...,
        download_button: _DownloadButton_pb2.DownloadButton | None = ...,
        camera_input: _CameraInput_pb2.CameraInput | None = ...,
        chat_input: _ChatInput_pb2.ChatInput | None = ...,
        checkbox: _Checkbox_pb2.Checkbox | None = ...,
        color_picker: _ColorPicker_pb2.ColorPicker | None = ...,
        component_instance: _Components_pb2.ComponentInstance | None = ...,
        date_input: _DateInput_pb2.DateInput | None = ...,
        deck_gl_json_chart: _DeckGlJsonChart_pb2.DeckGlJsonChart | None = ...,
        help_info: _Help_pb2.Help | None = ...,
        empty: _Empty_pb2.Empty | None = ...,
        exception: _Exception_pb2.Exception | None = ...,
        favicon: _Favicon_pb2.Favicon | None = ...,
        feedback: _Feedback_pb2.Feedback | None = ...,
        file_uploader: _FileUploader_pb2.FileUploader | None = ...,
        graphviz_chart: _GraphVizChart_pb2.GraphVizChart | None = ...,
        html: _Html_pb2.Html | None = ...,
        iframe: _IFrame_pb2.IFrame | None = ...,
        imgs: _Image_pb2.ImageList | None = ...,
        json: _Json_pb2.Json | None = ...,
        link_button: _LinkButton_pb2.LinkButton | None = ...,
        markdown: _Markdown_pb2.Markdown | None = ...,
        metric: _Metric_pb2.Metric | None = ...,
        multiselect: _MultiSelect_pb2.MultiSelect | None = ...,
        number_input: _NumberInput_pb2.NumberInput | None = ...,
        page_link: _PageLink_pb2.PageLink | None = ...,
        plotly_chart: _PlotlyChart_pb2.PlotlyChart | None = ...,
        progress: _Progress_pb2.Progress | None = ...,
        radio: _Radio_pb2.Radio | None = ...,
        selectbox: _Selectbox_pb2.Selectbox | None = ...,
        skeleton: _Skeleton_pb2.Skeleton | None = ...,
        slider: _Slider_pb2.Slider | None = ...,
        snow: _Snow_pb2.Snow | None = ...,
        space: _Space_pb2.Space | None = ...,
        spinner: _Spinner_pb2.Spinner | None = ...,
        text: _Text_pb2.Text | None = ...,
        text_area: _TextArea_pb2.TextArea | None = ...,
        text_input: _TextInput_pb2.TextInput | None = ...,
        time_input: _TimeInput_pb2.TimeInput | None = ...,
        date_time_input: _DateTimeInput_pb2.DateTimeInput | None = ...,
        toast: _Toast_pb2.Toast | None = ...,
        video: _Video_pb2.Video | None = ...,
        heading: _Heading_pb2.Heading | None = ...,
        code: _Code_pb2.Code | None = ...,
        menu_button: _MenuButton_pb2.MenuButton | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["_height_config", b"_height_config", "_text_alignment_config", b"_text_alignment_config", "_width_config", b"_width_config", "alert", b"alert", "audio", b"audio", "audio_input", b"audio_input", "balloons", b"balloons", "bidi_component", b"bidi_component", "button", b"button", "button_group", b"button_group", "camera_input", b"camera_input", "chat_input", b"chat_input", "checkbox", b"checkbox", "code", b"code", "color_picker", b"color_picker", "component_instance", b"component_instance", "dataframe", b"dataframe", "date_input", b"date_input", "date_time_input", b"date_time_input", "deck_gl_json_chart", b"deck_gl_json_chart", "download_button", b"download_button", "empty", b"empty", "exception", b"exception", "favicon", b"favicon", "feedback", b"feedback", "file_uploader", b"file_uploader", "graphviz_chart", b"graphviz_chart", "heading", b"heading", "height_config", b"height_config", "help_info", b"help_info", "html", b"html", "iframe", b"iframe", "imgs", b"imgs", "json", b"json", "link_button", b"link_button", "markdown", b"markdown", "menu_button", b"menu_button", "metric", b"metric", "multiselect", b"multiselect", "number_input", b"number_input", "page_link", b"page_link", "plotly_chart", b"plotly_chart", "progress", b"progress", "radio", b"radio", "selectbox", b"selectbox", "skeleton", b"skeleton", "slider", b"slider", "snow", b"snow", "space", b"space", "spinner", b"spinner", "table", b"table", "text", b"text", "text_alignment_config", b"text_alignment_config", "text_area", b"text_area", "text_input", b"text_input", "time_input", b"time_input", "toast", b"toast", "type", b"type", "vega_lite_chart", b"vega_lite_chart", "video", b"video", "width_config", b"width_config"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["_height_config", b"_height_config", "_text_alignment_config", b"_text_alignment_config", "_width_config", b"_width_config", "alert", b"alert", "audio", b"audio", "audio_input", b"audio_input", "balloons", b"balloons", "bidi_component", b"bidi_component", "button", b"button", "button_group", b"button_group", "camera_input", b"camera_input", "chat_input", b"chat_input", "checkbox", b"checkbox", "code", b"code", "color_picker", b"color_picker", "component_instance", b"component_instance", "dataframe", b"dataframe", "date_input", b"date_input", "date_time_input", b"date_time_input", "deck_gl_json_chart", b"deck_gl_json_chart", "download_button", b"download_button", "empty", b"empty", "exception", b"exception", "favicon", b"favicon", "feedback", b"feedback", "file_uploader", b"file_uploader", "graphviz_chart", b"graphviz_chart", "heading", b"heading", "height_config", b"height_config", "help_info", b"help_info", "html", b"html", "iframe", b"iframe", "imgs", b"imgs", "json", b"json", "link_button", b"link_button", "markdown", b"markdown", "menu_button", b"menu_button", "metric", b"metric", "multiselect", b"multiselect", "number_input", b"number_input", "page_link", b"page_link", "plotly_chart", b"plotly_chart", "progress", b"progress", "radio", b"radio", "selectbox", b"selectbox", "skeleton", b"skeleton", "slider", b"slider", "snow", b"snow", "space", b"space", "spinner", b"spinner", "table", b"table", "text", b"text", "text_alignment_config", b"text_alignment_config", "text_area", b"text_area", "text_input", b"text_input", "time_input", b"time_input", "toast", b"toast", "type", b"type", "vega_lite_chart", b"vega_lite_chart", "video", b"video", "width_config", b"width_config"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType__height_config: _TypeAlias = _typing.Literal["height_config"]  # noqa: Y015
    _WhichOneofArgType__height_config: _TypeAlias = _typing.Literal["_height_config", b"_height_config"]  # noqa: Y015
    _WhichOneofReturnType__text_alignment_config: _TypeAlias = _typing.Literal["text_alignment_config"]  # noqa: Y015
    _WhichOneofArgType__text_alignment_config: _TypeAlias = _typing.Literal["_text_alignment_config", b"_text_alignment_config"]  # noqa: Y015
    _WhichOneofReturnType__width_config: _TypeAlias = _typing.Literal["width_config"]  # noqa: Y015
    _WhichOneofArgType__width_config: _TypeAlias = _typing.Literal["_width_config", b"_width_config"]  # noqa: Y015
    _WhichOneofReturnType_type: _TypeAlias = _typing.Literal["alert", "dataframe", "table", "vega_lite_chart", "audio", "audio_input", "balloons", "bidi_component", "button", "button_group", "download_button", "camera_input", "chat_input", "checkbox", "color_picker", "component_instance", "date_input", "deck_gl_json_chart", "help_info", "empty", "exception", "favicon", "feedback", "file_uploader", "graphviz_chart", "html", "iframe", "imgs", "json", "link_button", "markdown", "metric", "multiselect", "number_input", "page_link", "plotly_chart", "progress", "radio", "selectbox", "skeleton", "slider", "snow", "space", "spinner", "text", "text_area", "text_input", "time_input", "date_time_input", "toast", "video", "heading", "code", "menu_button"]  # noqa: Y015
    _WhichOneofArgType_type: _TypeAlias = _typing.Literal["type", b"type"]  # noqa: Y015
    @_typing.overload
    def WhichOneof(self, oneof_group: _WhichOneofArgType__height_config) -> _WhichOneofReturnType__height_config | None: ...
    @_typing.overload
    def WhichOneof(self, oneof_group: _WhichOneofArgType__text_alignment_config) -> _WhichOneofReturnType__text_alignment_config | None: ...
    @_typing.overload
    def WhichOneof(self, oneof_group: _WhichOneofArgType__width_config) -> _WhichOneofReturnType__width_config | None: ...
    @_typing.overload
    def WhichOneof(self, oneof_group: _WhichOneofArgType_type) -> _WhichOneofReturnType_type | None: ...

Global___Element: _TypeAlias = Element  # noqa: Y015
