"""
@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 google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
from streamlit.proto import GapSize_pb2 as _GapSize_pb2
from streamlit.proto import HeightConfig_pb2 as _HeightConfig_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 Block(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    @_typing.final
    class Vertical(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        BORDER_FIELD_NUMBER: _builtins.int
        border: _builtins.bool
        def __init__(
            self,
            *,
            border: _builtins.bool = ...,
        ) -> None: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["border", b"border"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    @_typing.final
    class Horizontal(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        GAP_FIELD_NUMBER: _builtins.int
        gap: _builtins.str
        def __init__(
            self,
            *,
            gap: _builtins.str = ...,
        ) -> None: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["gap", b"gap"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    @_typing.final
    class FlexContainer(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        class _Direction:
            ValueType = _typing.NewType("ValueType", _builtins.int)
            V: _TypeAlias = ValueType  # noqa: Y015

        class _DirectionEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[Block.FlexContainer._Direction.ValueType], _builtins.type):
            DESCRIPTOR: _descriptor.EnumDescriptor
            DIRECTION_UNDEFINED: Block.FlexContainer._Direction.ValueType  # 0
            VERTICAL: Block.FlexContainer._Direction.ValueType  # 1
            HORIZONTAL: Block.FlexContainer._Direction.ValueType  # 2

        class Direction(_Direction, metaclass=_DirectionEnumTypeWrapper): ...
        DIRECTION_UNDEFINED: Block.FlexContainer.Direction.ValueType  # 0
        VERTICAL: Block.FlexContainer.Direction.ValueType  # 1
        HORIZONTAL: Block.FlexContainer.Direction.ValueType  # 2

        class _Justify:
            ValueType = _typing.NewType("ValueType", _builtins.int)
            V: _TypeAlias = ValueType  # noqa: Y015

        class _JustifyEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[Block.FlexContainer._Justify.ValueType], _builtins.type):
            DESCRIPTOR: _descriptor.EnumDescriptor
            JUSTIFY_UNDEFINED: Block.FlexContainer._Justify.ValueType  # 0
            JUSTIFY_START: Block.FlexContainer._Justify.ValueType  # 1
            JUSTIFY_END: Block.FlexContainer._Justify.ValueType  # 2
            JUSTIFY_CENTER: Block.FlexContainer._Justify.ValueType  # 3
            SPACE_BETWEEN: Block.FlexContainer._Justify.ValueType  # 4

        class Justify(_Justify, metaclass=_JustifyEnumTypeWrapper): ...
        JUSTIFY_UNDEFINED: Block.FlexContainer.Justify.ValueType  # 0
        JUSTIFY_START: Block.FlexContainer.Justify.ValueType  # 1
        JUSTIFY_END: Block.FlexContainer.Justify.ValueType  # 2
        JUSTIFY_CENTER: Block.FlexContainer.Justify.ValueType  # 3
        SPACE_BETWEEN: Block.FlexContainer.Justify.ValueType  # 4

        class _Align:
            ValueType = _typing.NewType("ValueType", _builtins.int)
            V: _TypeAlias = ValueType  # noqa: Y015

        class _AlignEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[Block.FlexContainer._Align.ValueType], _builtins.type):
            DESCRIPTOR: _descriptor.EnumDescriptor
            ALIGN_UNDEFINED: Block.FlexContainer._Align.ValueType  # 0
            ALIGN_START: Block.FlexContainer._Align.ValueType  # 1
            ALIGN_END: Block.FlexContainer._Align.ValueType  # 2
            ALIGN_CENTER: Block.FlexContainer._Align.ValueType  # 3
            STRETCH: Block.FlexContainer._Align.ValueType  # 4

        class Align(_Align, metaclass=_AlignEnumTypeWrapper): ...
        ALIGN_UNDEFINED: Block.FlexContainer.Align.ValueType  # 0
        ALIGN_START: Block.FlexContainer.Align.ValueType  # 1
        ALIGN_END: Block.FlexContainer.Align.ValueType  # 2
        ALIGN_CENTER: Block.FlexContainer.Align.ValueType  # 3
        STRETCH: Block.FlexContainer.Align.ValueType  # 4

        BORDER_FIELD_NUMBER: _builtins.int
        GAP_CONFIG_FIELD_NUMBER: _builtins.int
        SCALE_FIELD_NUMBER: _builtins.int
        DIRECTION_FIELD_NUMBER: _builtins.int
        WRAP_FIELD_NUMBER: _builtins.int
        JUSTIFY_FIELD_NUMBER: _builtins.int
        ALIGN_FIELD_NUMBER: _builtins.int
        border: _builtins.bool
        scale: _builtins.float
        direction: Global___Block.FlexContainer.Direction.ValueType
        wrap: _builtins.bool
        justify: Global___Block.FlexContainer.Justify.ValueType
        align: Global___Block.FlexContainer.Align.ValueType
        @_builtins.property
        def gap_config(self) -> _GapSize_pb2.GapConfig: ...
        def __init__(
            self,
            *,
            border: _builtins.bool = ...,
            gap_config: _GapSize_pb2.GapConfig | None = ...,
            scale: _builtins.float = ...,
            direction: Global___Block.FlexContainer.Direction.ValueType = ...,
            wrap: _builtins.bool = ...,
            justify: Global___Block.FlexContainer.Justify.ValueType = ...,
            align: Global___Block.FlexContainer.Align.ValueType = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["gap_config", b"gap_config"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["align", b"align", "border", b"border", "direction", b"direction", "gap_config", b"gap_config", "justify", b"justify", "scale", b"scale", "wrap", b"wrap"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    @_typing.final
    class Column(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        class _VerticalAlignment:
            ValueType = _typing.NewType("ValueType", _builtins.int)
            V: _TypeAlias = ValueType  # noqa: Y015

        class _VerticalAlignmentEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[Block.Column._VerticalAlignment.ValueType], _builtins.type):
            DESCRIPTOR: _descriptor.EnumDescriptor
            TOP: Block.Column._VerticalAlignment.ValueType  # 0
            CENTER: Block.Column._VerticalAlignment.ValueType  # 1
            BOTTOM: Block.Column._VerticalAlignment.ValueType  # 2

        class VerticalAlignment(_VerticalAlignment, metaclass=_VerticalAlignmentEnumTypeWrapper): ...
        TOP: Block.Column.VerticalAlignment.ValueType  # 0
        CENTER: Block.Column.VerticalAlignment.ValueType  # 1
        BOTTOM: Block.Column.VerticalAlignment.ValueType  # 2

        WEIGHT_FIELD_NUMBER: _builtins.int
        VERTICAL_ALIGNMENT_FIELD_NUMBER: _builtins.int
        SHOW_BORDER_FIELD_NUMBER: _builtins.int
        GAP_CONFIG_FIELD_NUMBER: _builtins.int
        weight: _builtins.float
        vertical_alignment: Global___Block.Column.VerticalAlignment.ValueType
        show_border: _builtins.bool
        @_builtins.property
        def gap_config(self) -> _GapSize_pb2.GapConfig: ...
        def __init__(
            self,
            *,
            weight: _builtins.float = ...,
            vertical_alignment: Global___Block.Column.VerticalAlignment.ValueType = ...,
            show_border: _builtins.bool = ...,
            gap_config: _GapSize_pb2.GapConfig | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["_gap_config", b"_gap_config", "gap_config", b"gap_config"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["_gap_config", b"_gap_config", "gap_config", b"gap_config", "show_border", b"show_border", "vertical_alignment", b"vertical_alignment", "weight", b"weight"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
        _WhichOneofReturnType__gap_config: _TypeAlias = _typing.Literal["gap_config"]  # noqa: Y015
        _WhichOneofArgType__gap_config: _TypeAlias = _typing.Literal["_gap_config", b"_gap_config"]  # noqa: Y015
        def WhichOneof(self, oneof_group: _WhichOneofArgType__gap_config) -> _WhichOneofReturnType__gap_config | None: ...

    @_typing.final
    class Expandable(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        LABEL_FIELD_NUMBER: _builtins.int
        EXPANDED_FIELD_NUMBER: _builtins.int
        ICON_FIELD_NUMBER: _builtins.int
        ID_FIELD_NUMBER: _builtins.int
        label: _builtins.str
        expanded: _builtins.bool
        icon: _builtins.str
        id: _builtins.str
        """ID for dynamic expanders. Only set when on_change="rerun",
        signaling the frontend to treat this as a stateful widget.
        """
        def __init__(
            self,
            *,
            label: _builtins.str = ...,
            expanded: _builtins.bool | None = ...,
            icon: _builtins.str = ...,
            id: _builtins.str | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["_expanded", b"_expanded", "_id", b"_id", "expanded", b"expanded", "id", b"id"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["_expanded", b"_expanded", "_id", b"_id", "expanded", b"expanded", "icon", b"icon", "id", b"id", "label", b"label"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
        _WhichOneofReturnType__expanded: _TypeAlias = _typing.Literal["expanded"]  # noqa: Y015
        _WhichOneofArgType__expanded: _TypeAlias = _typing.Literal["_expanded", b"_expanded"]  # noqa: Y015
        _WhichOneofReturnType__id: _TypeAlias = _typing.Literal["id"]  # noqa: Y015
        _WhichOneofArgType__id: _TypeAlias = _typing.Literal["_id", b"_id"]  # noqa: Y015
        @_typing.overload
        def WhichOneof(self, oneof_group: _WhichOneofArgType__expanded) -> _WhichOneofReturnType__expanded | None: ...
        @_typing.overload
        def WhichOneof(self, oneof_group: _WhichOneofArgType__id) -> _WhichOneofReturnType__id | None: ...

    @_typing.final
    class Dialog(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        class _DialogWidth:
            ValueType = _typing.NewType("ValueType", _builtins.int)
            V: _TypeAlias = ValueType  # noqa: Y015

        class _DialogWidthEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[Block.Dialog._DialogWidth.ValueType], _builtins.type):
            DESCRIPTOR: _descriptor.EnumDescriptor
            SMALL: Block.Dialog._DialogWidth.ValueType  # 0
            LARGE: Block.Dialog._DialogWidth.ValueType  # 1
            MEDIUM: Block.Dialog._DialogWidth.ValueType  # 2

        class DialogWidth(_DialogWidth, metaclass=_DialogWidthEnumTypeWrapper): ...
        SMALL: Block.Dialog.DialogWidth.ValueType  # 0
        LARGE: Block.Dialog.DialogWidth.ValueType  # 1
        MEDIUM: Block.Dialog.DialogWidth.ValueType  # 2

        TITLE_FIELD_NUMBER: _builtins.int
        DISMISSIBLE_FIELD_NUMBER: _builtins.int
        WIDTH_FIELD_NUMBER: _builtins.int
        IS_OPEN_FIELD_NUMBER: _builtins.int
        ID_FIELD_NUMBER: _builtins.int
        ICON_FIELD_NUMBER: _builtins.int
        title: _builtins.str
        dismissible: _builtins.bool
        width: Global___Block.Dialog.DialogWidth.ValueType
        is_open: _builtins.bool
        id: _builtins.str
        """If id is set, dismissal of the dialog will trigger a rerun."""
        icon: _builtins.str
        """Optional icon shown next to the dialog title."""
        def __init__(
            self,
            *,
            title: _builtins.str = ...,
            dismissible: _builtins.bool = ...,
            width: Global___Block.Dialog.DialogWidth.ValueType = ...,
            is_open: _builtins.bool | None = ...,
            id: _builtins.str = ...,
            icon: _builtins.str = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["_is_open", b"_is_open", "is_open", b"is_open"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["_is_open", b"_is_open", "dismissible", b"dismissible", "icon", b"icon", "id", b"id", "is_open", b"is_open", "title", b"title", "width", b"width"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
        _WhichOneofReturnType__is_open: _TypeAlias = _typing.Literal["is_open"]  # noqa: Y015
        _WhichOneofArgType__is_open: _TypeAlias = _typing.Literal["_is_open", b"_is_open"]  # noqa: Y015
        def WhichOneof(self, oneof_group: _WhichOneofArgType__is_open) -> _WhichOneofReturnType__is_open | None: ...

    @_typing.final
    class Form(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        FORM_ID_FIELD_NUMBER: _builtins.int
        CLEAR_ON_SUBMIT_FIELD_NUMBER: _builtins.int
        BORDER_FIELD_NUMBER: _builtins.int
        ENTER_TO_SUBMIT_FIELD_NUMBER: _builtins.int
        form_id: _builtins.str
        clear_on_submit: _builtins.bool
        border: _builtins.bool
        enter_to_submit: _builtins.bool
        def __init__(
            self,
            *,
            form_id: _builtins.str = ...,
            clear_on_submit: _builtins.bool = ...,
            border: _builtins.bool = ...,
            enter_to_submit: _builtins.bool = ...,
        ) -> None: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["border", b"border", "clear_on_submit", b"clear_on_submit", "enter_to_submit", b"enter_to_submit", "form_id", b"form_id"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    @_typing.final
    class TabContainer(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        DEFAULT_TAB_INDEX_FIELD_NUMBER: _builtins.int
        ID_FIELD_NUMBER: _builtins.int
        default_tab_index: _builtins.int
        id: _builtins.str
        """Widget ID for dynamic tabs. Only set when on_change="rerun",
        signaling the frontend to treat this as a stateful widget.
        When absent, tabs may still have a block-level id for CSS key
        styling but should not trigger reruns on tab change.
        """
        def __init__(
            self,
            *,
            default_tab_index: _builtins.int = ...,
            id: _builtins.str | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["_id", b"_id", "id", b"id"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["_id", b"_id", "default_tab_index", b"default_tab_index", "id", b"id"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
        _WhichOneofReturnType__id: _TypeAlias = _typing.Literal["id"]  # noqa: Y015
        _WhichOneofArgType__id: _TypeAlias = _typing.Literal["_id", b"_id"]  # noqa: Y015
        def WhichOneof(self, oneof_group: _WhichOneofArgType__id) -> _WhichOneofReturnType__id | None: ...

    @_typing.final
    class Tab(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        LABEL_FIELD_NUMBER: _builtins.int
        label: _builtins.str
        def __init__(
            self,
            *,
            label: _builtins.str = ...,
        ) -> None: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["label", b"label"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    @_typing.final
    class Popover(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        LABEL_FIELD_NUMBER: _builtins.int
        HELP_FIELD_NUMBER: _builtins.int
        DISABLED_FIELD_NUMBER: _builtins.int
        ICON_FIELD_NUMBER: _builtins.int
        TYPE_FIELD_NUMBER: _builtins.int
        OPEN_FIELD_NUMBER: _builtins.int
        ID_FIELD_NUMBER: _builtins.int
        label: _builtins.str
        help: _builtins.str
        disabled: _builtins.bool
        icon: _builtins.str
        type: _builtins.str
        open: _builtins.bool
        """Initial open state (used with on_change)."""
        id: _builtins.str
        """Widget ID for dynamic popovers. Only set when on_change="rerun",
        signaling the frontend to treat this as a stateful widget.
        When absent, the popover may still have a block-level id for CSS
        key styling but should not trigger reruns on toggle.
        """
        def __init__(
            self,
            *,
            label: _builtins.str = ...,
            help: _builtins.str = ...,
            disabled: _builtins.bool = ...,
            icon: _builtins.str = ...,
            type: _builtins.str = ...,
            open: _builtins.bool | None = ...,
            id: _builtins.str | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["_id", b"_id", "_open", b"_open", "id", b"id", "open", b"open"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["_id", b"_id", "_open", b"_open", "disabled", b"disabled", "help", b"help", "icon", b"icon", "id", b"id", "label", b"label", "open", b"open", "type", b"type"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
        _WhichOneofReturnType__id: _TypeAlias = _typing.Literal["id"]  # noqa: Y015
        _WhichOneofArgType__id: _TypeAlias = _typing.Literal["_id", b"_id"]  # noqa: Y015
        _WhichOneofReturnType__open: _TypeAlias = _typing.Literal["open"]  # noqa: Y015
        _WhichOneofArgType__open: _TypeAlias = _typing.Literal["_open", b"_open"]  # noqa: Y015
        @_typing.overload
        def WhichOneof(self, oneof_group: _WhichOneofArgType__id) -> _WhichOneofReturnType__id | None: ...
        @_typing.overload
        def WhichOneof(self, oneof_group: _WhichOneofArgType__open) -> _WhichOneofReturnType__open | None: ...

    @_typing.final
    class ChatMessage(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        class _AvatarType:
            ValueType = _typing.NewType("ValueType", _builtins.int)
            V: _TypeAlias = ValueType  # noqa: Y015

        class _AvatarTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[Block.ChatMessage._AvatarType.ValueType], _builtins.type):
            DESCRIPTOR: _descriptor.EnumDescriptor
            IMAGE: Block.ChatMessage._AvatarType.ValueType  # 0
            EMOJI: Block.ChatMessage._AvatarType.ValueType  # 1
            ICON: Block.ChatMessage._AvatarType.ValueType  # 2

        class AvatarType(_AvatarType, metaclass=_AvatarTypeEnumTypeWrapper): ...
        IMAGE: Block.ChatMessage.AvatarType.ValueType  # 0
        EMOJI: Block.ChatMessage.AvatarType.ValueType  # 1
        ICON: Block.ChatMessage.AvatarType.ValueType  # 2

        NAME_FIELD_NUMBER: _builtins.int
        AVATAR_FIELD_NUMBER: _builtins.int
        AVATAR_TYPE_FIELD_NUMBER: _builtins.int
        name: _builtins.str
        avatar: _builtins.str
        avatar_type: Global___Block.ChatMessage.AvatarType.ValueType
        def __init__(
            self,
            *,
            name: _builtins.str = ...,
            avatar: _builtins.str = ...,
            avatar_type: Global___Block.ChatMessage.AvatarType.ValueType = ...,
        ) -> None: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["avatar", b"avatar", "avatar_type", b"avatar_type", "name", b"name"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    VERTICAL_FIELD_NUMBER: _builtins.int
    HORIZONTAL_FIELD_NUMBER: _builtins.int
    COLUMN_FIELD_NUMBER: _builtins.int
    EXPANDABLE_FIELD_NUMBER: _builtins.int
    FORM_FIELD_NUMBER: _builtins.int
    TAB_CONTAINER_FIELD_NUMBER: _builtins.int
    TAB_FIELD_NUMBER: _builtins.int
    CHAT_MESSAGE_FIELD_NUMBER: _builtins.int
    POPOVER_FIELD_NUMBER: _builtins.int
    DIALOG_FIELD_NUMBER: _builtins.int
    FLEX_CONTAINER_FIELD_NUMBER: _builtins.int
    ALLOW_EMPTY_FIELD_NUMBER: _builtins.int
    ID_FIELD_NUMBER: _builtins.int
    HEIGHT_CONFIG_FIELD_NUMBER: _builtins.int
    WIDTH_CONFIG_FIELD_NUMBER: _builtins.int
    allow_empty: _builtins.bool
    id: _builtins.str
    @_builtins.property
    def vertical(self) -> Global___Block.Vertical: ...
    @_builtins.property
    def horizontal(self) -> Global___Block.Horizontal: ...
    @_builtins.property
    def column(self) -> Global___Block.Column: ...
    @_builtins.property
    def expandable(self) -> Global___Block.Expandable: ...
    @_builtins.property
    def form(self) -> Global___Block.Form: ...
    @_builtins.property
    def tab_container(self) -> Global___Block.TabContainer: ...
    @_builtins.property
    def tab(self) -> Global___Block.Tab: ...
    @_builtins.property
    def chat_message(self) -> Global___Block.ChatMessage: ...
    @_builtins.property
    def popover(self) -> Global___Block.Popover: ...
    @_builtins.property
    def dialog(self) -> Global___Block.Dialog: ...
    @_builtins.property
    def flex_container(self) -> Global___Block.FlexContainer: ...
    @_builtins.property
    def height_config(self) -> _HeightConfig_pb2.HeightConfig: ...
    @_builtins.property
    def width_config(self) -> _WidthConfig_pb2.WidthConfig: ...
    def __init__(
        self,
        *,
        vertical: Global___Block.Vertical | None = ...,
        horizontal: Global___Block.Horizontal | None = ...,
        column: Global___Block.Column | None = ...,
        expandable: Global___Block.Expandable | None = ...,
        form: Global___Block.Form | None = ...,
        tab_container: Global___Block.TabContainer | None = ...,
        tab: Global___Block.Tab | None = ...,
        chat_message: Global___Block.ChatMessage | None = ...,
        popover: Global___Block.Popover | None = ...,
        dialog: Global___Block.Dialog | None = ...,
        flex_container: Global___Block.FlexContainer | None = ...,
        allow_empty: _builtins.bool = ...,
        id: _builtins.str | None = ...,
        height_config: _HeightConfig_pb2.HeightConfig | None = ...,
        width_config: _WidthConfig_pb2.WidthConfig | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["_height_config", b"_height_config", "_id", b"_id", "_width_config", b"_width_config", "chat_message", b"chat_message", "column", b"column", "dialog", b"dialog", "expandable", b"expandable", "flex_container", b"flex_container", "form", b"form", "height_config", b"height_config", "horizontal", b"horizontal", "id", b"id", "popover", b"popover", "tab", b"tab", "tab_container", b"tab_container", "type", b"type", "vertical", b"vertical", "width_config", b"width_config"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["_height_config", b"_height_config", "_id", b"_id", "_width_config", b"_width_config", "allow_empty", b"allow_empty", "chat_message", b"chat_message", "column", b"column", "dialog", b"dialog", "expandable", b"expandable", "flex_container", b"flex_container", "form", b"form", "height_config", b"height_config", "horizontal", b"horizontal", "id", b"id", "popover", b"popover", "tab", b"tab", "tab_container", b"tab_container", "type", b"type", "vertical", b"vertical", "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__id: _TypeAlias = _typing.Literal["id"]  # noqa: Y015
    _WhichOneofArgType__id: _TypeAlias = _typing.Literal["_id", b"_id"]  # 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["vertical", "horizontal", "column", "expandable", "form", "tab_container", "tab", "chat_message", "popover", "dialog", "flex_container"]  # 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__id) -> _WhichOneofReturnType__id | 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___Block: _TypeAlias = Block  # noqa: Y015
