"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

from collections import abc as _abc
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf.internal import containers as _containers
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
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

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

class _AIRichResponseMessageTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_AIRichResponseMessageType.ValueType], _builtins.type):
    DESCRIPTOR: _descriptor.EnumDescriptor
    AI_RICH_RESPONSE_TYPE_UNKNOWN: _AIRichResponseMessageType.ValueType  # 0
    AI_RICH_RESPONSE_TYPE_STANDARD: _AIRichResponseMessageType.ValueType  # 1

class AIRichResponseMessageType(_AIRichResponseMessageType, metaclass=_AIRichResponseMessageTypeEnumTypeWrapper): ...

AI_RICH_RESPONSE_TYPE_UNKNOWN: AIRichResponseMessageType.ValueType  # 0
AI_RICH_RESPONSE_TYPE_STANDARD: AIRichResponseMessageType.ValueType  # 1
Global___AIRichResponseMessageType: _TypeAlias = AIRichResponseMessageType  # noqa: Y015

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

class _AIRichResponseSubMessageTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[_AIRichResponseSubMessageType.ValueType], _builtins.type):
    DESCRIPTOR: _descriptor.EnumDescriptor
    AI_RICH_RESPONSE_UNKNOWN: _AIRichResponseSubMessageType.ValueType  # 0
    AI_RICH_RESPONSE_GRID_IMAGE: _AIRichResponseSubMessageType.ValueType  # 1
    AI_RICH_RESPONSE_TEXT: _AIRichResponseSubMessageType.ValueType  # 2
    AI_RICH_RESPONSE_INLINE_IMAGE: _AIRichResponseSubMessageType.ValueType  # 3
    AI_RICH_RESPONSE_TABLE: _AIRichResponseSubMessageType.ValueType  # 4
    AI_RICH_RESPONSE_CODE: _AIRichResponseSubMessageType.ValueType  # 5
    AI_RICH_RESPONSE_DYNAMIC: _AIRichResponseSubMessageType.ValueType  # 6
    AI_RICH_RESPONSE_MAP: _AIRichResponseSubMessageType.ValueType  # 7
    AI_RICH_RESPONSE_LATEX: _AIRichResponseSubMessageType.ValueType  # 8
    AI_RICH_RESPONSE_CONTENT_ITEMS: _AIRichResponseSubMessageType.ValueType  # 9

class AIRichResponseSubMessageType(_AIRichResponseSubMessageType, metaclass=_AIRichResponseSubMessageTypeEnumTypeWrapper): ...

AI_RICH_RESPONSE_UNKNOWN: AIRichResponseSubMessageType.ValueType  # 0
AI_RICH_RESPONSE_GRID_IMAGE: AIRichResponseSubMessageType.ValueType  # 1
AI_RICH_RESPONSE_TEXT: AIRichResponseSubMessageType.ValueType  # 2
AI_RICH_RESPONSE_INLINE_IMAGE: AIRichResponseSubMessageType.ValueType  # 3
AI_RICH_RESPONSE_TABLE: AIRichResponseSubMessageType.ValueType  # 4
AI_RICH_RESPONSE_CODE: AIRichResponseSubMessageType.ValueType  # 5
AI_RICH_RESPONSE_DYNAMIC: AIRichResponseSubMessageType.ValueType  # 6
AI_RICH_RESPONSE_MAP: AIRichResponseSubMessageType.ValueType  # 7
AI_RICH_RESPONSE_LATEX: AIRichResponseSubMessageType.ValueType  # 8
AI_RICH_RESPONSE_CONTENT_ITEMS: AIRichResponseSubMessageType.ValueType  # 9
Global___AIRichResponseSubMessageType: _TypeAlias = AIRichResponseSubMessageType  # noqa: Y015

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

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

    class _AIRichResponseImageAlignmentEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType], _builtins.type):
        DESCRIPTOR: _descriptor.EnumDescriptor
        AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED: AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType  # 0
        AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED: AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType  # 1
        AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED: AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType  # 2

    class AIRichResponseImageAlignment(_AIRichResponseImageAlignment, metaclass=_AIRichResponseImageAlignmentEnumTypeWrapper): ...
    AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED: AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType  # 0
    AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED: AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType  # 1
    AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED: AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType  # 2

    IMAGEURL_FIELD_NUMBER: _builtins.int
    IMAGETEXT_FIELD_NUMBER: _builtins.int
    ALIGNMENT_FIELD_NUMBER: _builtins.int
    TAPLINKURL_FIELD_NUMBER: _builtins.int
    imageText: _builtins.str
    alignment: Global___AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType
    tapLinkURL: _builtins.str
    @_builtins.property
    def imageURL(self) -> Global___AIRichResponseImageURL: ...
    def __init__(
        self,
        *,
        imageURL: Global___AIRichResponseImageURL | None = ...,
        imageText: _builtins.str | None = ...,
        alignment: Global___AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType | None = ...,
        tapLinkURL: _builtins.str | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["alignment", b"alignment", "imageText", b"imageText", "imageURL", b"imageURL", "tapLinkURL", b"tapLinkURL"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["alignment", b"alignment", "imageText", b"imageText", "imageURL", b"imageURL", "tapLinkURL", b"tapLinkURL"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseInlineImageMetadata: _TypeAlias = AIRichResponseInlineImageMetadata  # noqa: Y015

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

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

    class _AIRichResponseCodeHighlightTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType], _builtins.type):
        DESCRIPTOR: _descriptor.EnumDescriptor
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 0
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 1
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 2
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 3
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 4
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT: AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 5

    class AIRichResponseCodeHighlightType(_AIRichResponseCodeHighlightType, metaclass=_AIRichResponseCodeHighlightTypeEnumTypeWrapper): ...
    AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 0
    AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 1
    AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 2
    AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 3
    AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 4
    AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT: AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 5

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

        HIGHLIGHTTYPE_FIELD_NUMBER: _builtins.int
        CODECONTENT_FIELD_NUMBER: _builtins.int
        highlightType: Global___AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType
        codeContent: _builtins.str
        def __init__(
            self,
            *,
            highlightType: Global___AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType | None = ...,
            codeContent: _builtins.str | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["codeContent", b"codeContent", "highlightType", b"highlightType"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["codeContent", b"codeContent", "highlightType", b"highlightType"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    CODELANGUAGE_FIELD_NUMBER: _builtins.int
    CODEBLOCKS_FIELD_NUMBER: _builtins.int
    codeLanguage: _builtins.str
    @_builtins.property
    def codeBlocks(self) -> _containers.RepeatedCompositeFieldContainer[Global___AIRichResponseCodeMetadata.AIRichResponseCodeBlock]: ...
    def __init__(
        self,
        *,
        codeLanguage: _builtins.str | None = ...,
        codeBlocks: _abc.Iterable[Global___AIRichResponseCodeMetadata.AIRichResponseCodeBlock] | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["codeLanguage", b"codeLanguage"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["codeBlocks", b"codeBlocks", "codeLanguage", b"codeLanguage"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseCodeMetadata: _TypeAlias = AIRichResponseCodeMetadata  # noqa: Y015

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

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

    class _AIRichResponseDynamicMetadataTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType], _builtins.type):
        DESCRIPTOR: _descriptor.EnumDescriptor
        AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN: AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType  # 0
        AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE: AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType  # 1
        AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF: AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType  # 2

    class AIRichResponseDynamicMetadataType(_AIRichResponseDynamicMetadataType, metaclass=_AIRichResponseDynamicMetadataTypeEnumTypeWrapper): ...
    AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN: AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType  # 0
    AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE: AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType  # 1
    AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF: AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType  # 2

    TYPE_FIELD_NUMBER: _builtins.int
    VERSION_FIELD_NUMBER: _builtins.int
    URL_FIELD_NUMBER: _builtins.int
    LOOPCOUNT_FIELD_NUMBER: _builtins.int
    type: Global___AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType
    version: _builtins.int
    URL: _builtins.str
    loopCount: _builtins.int
    def __init__(
        self,
        *,
        type: Global___AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType | None = ...,
        version: _builtins.int | None = ...,
        URL: _builtins.str | None = ...,
        loopCount: _builtins.int | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["URL", b"URL", "loopCount", b"loopCount", "type", b"type", "version", b"version"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["URL", b"URL", "loopCount", b"loopCount", "type", b"type", "version", b"version"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseDynamicMetadata: _TypeAlias = AIRichResponseDynamicMetadata  # noqa: Y015

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

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

    class _ContentTypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[AIRichResponseContentItemsMetadata._ContentType.ValueType], _builtins.type):
        DESCRIPTOR: _descriptor.EnumDescriptor
        DEFAULT: AIRichResponseContentItemsMetadata._ContentType.ValueType  # 0
        CAROUSEL: AIRichResponseContentItemsMetadata._ContentType.ValueType  # 1

    class ContentType(_ContentType, metaclass=_ContentTypeEnumTypeWrapper): ...
    DEFAULT: AIRichResponseContentItemsMetadata.ContentType.ValueType  # 0
    CAROUSEL: AIRichResponseContentItemsMetadata.ContentType.ValueType  # 1

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

        REELITEM_FIELD_NUMBER: _builtins.int
        @_builtins.property
        def reelItem(self) -> Global___AIRichResponseContentItemsMetadata.AIRichResponseReelItem: ...
        def __init__(
            self,
            *,
            reelItem: Global___AIRichResponseContentItemsMetadata.AIRichResponseReelItem | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["aIRichResponseContentItem", b"aIRichResponseContentItem", "reelItem", b"reelItem"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["aIRichResponseContentItem", b"aIRichResponseContentItem", "reelItem", b"reelItem"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
        _WhichOneofReturnType_aIRichResponseContentItem: _TypeAlias = _typing.Literal["reelItem"]  # noqa: Y015
        _WhichOneofArgType_aIRichResponseContentItem: _TypeAlias = _typing.Literal["aIRichResponseContentItem", b"aIRichResponseContentItem"]  # noqa: Y015
        def WhichOneof(self, oneof_group: _WhichOneofArgType_aIRichResponseContentItem) -> _WhichOneofReturnType_aIRichResponseContentItem | None: ...

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

        TITLE_FIELD_NUMBER: _builtins.int
        PROFILEICONURL_FIELD_NUMBER: _builtins.int
        THUMBNAILURL_FIELD_NUMBER: _builtins.int
        VIDEOURL_FIELD_NUMBER: _builtins.int
        title: _builtins.str
        profileIconURL: _builtins.str
        thumbnailURL: _builtins.str
        videoURL: _builtins.str
        def __init__(
            self,
            *,
            title: _builtins.str | None = ...,
            profileIconURL: _builtins.str | None = ...,
            thumbnailURL: _builtins.str | None = ...,
            videoURL: _builtins.str | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["profileIconURL", b"profileIconURL", "thumbnailURL", b"thumbnailURL", "title", b"title", "videoURL", b"videoURL"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["profileIconURL", b"profileIconURL", "thumbnailURL", b"thumbnailURL", "title", b"title", "videoURL", b"videoURL"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    ITEMSMETADATA_FIELD_NUMBER: _builtins.int
    CONTENTTYPE_FIELD_NUMBER: _builtins.int
    contentType: Global___AIRichResponseContentItemsMetadata.ContentType.ValueType
    @_builtins.property
    def itemsMetadata(self) -> _containers.RepeatedCompositeFieldContainer[Global___AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata]: ...
    def __init__(
        self,
        *,
        itemsMetadata: _abc.Iterable[Global___AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata] | None = ...,
        contentType: Global___AIRichResponseContentItemsMetadata.ContentType.ValueType | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["contentType", b"contentType"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["contentType", b"contentType", "itemsMetadata", b"itemsMetadata"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseContentItemsMetadata: _TypeAlias = AIRichResponseContentItemsMetadata  # noqa: Y015

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

    IMAGEPREVIEWURL_FIELD_NUMBER: _builtins.int
    IMAGEHIGHRESURL_FIELD_NUMBER: _builtins.int
    SOURCEURL_FIELD_NUMBER: _builtins.int
    imagePreviewURL: _builtins.str
    imageHighResURL: _builtins.str
    sourceURL: _builtins.str
    def __init__(
        self,
        *,
        imagePreviewURL: _builtins.str | None = ...,
        imageHighResURL: _builtins.str | None = ...,
        sourceURL: _builtins.str | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["imageHighResURL", b"imageHighResURL", "imagePreviewURL", b"imagePreviewURL", "sourceURL", b"sourceURL"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["imageHighResURL", b"imageHighResURL", "imagePreviewURL", b"imagePreviewURL", "sourceURL", b"sourceURL"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseImageURL: _TypeAlias = AIRichResponseImageURL  # noqa: Y015

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

    GRIDIMAGEURL_FIELD_NUMBER: _builtins.int
    IMAGEURLS_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def gridImageURL(self) -> Global___AIRichResponseImageURL: ...
    @_builtins.property
    def imageURLs(self) -> _containers.RepeatedCompositeFieldContainer[Global___AIRichResponseImageURL]: ...
    def __init__(
        self,
        *,
        gridImageURL: Global___AIRichResponseImageURL | None = ...,
        imageURLs: _abc.Iterable[Global___AIRichResponseImageURL] | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["gridImageURL", b"gridImageURL"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["gridImageURL", b"gridImageURL", "imageURLs", b"imageURLs"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseGridImageMetadata: _TypeAlias = AIRichResponseGridImageMetadata  # noqa: Y015

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

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

        ITEMS_FIELD_NUMBER: _builtins.int
        ISHEADING_FIELD_NUMBER: _builtins.int
        isHeading: _builtins.bool
        @_builtins.property
        def items(self) -> _containers.RepeatedScalarFieldContainer[_builtins.str]: ...
        def __init__(
            self,
            *,
            items: _abc.Iterable[_builtins.str] | None = ...,
            isHeading: _builtins.bool | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["isHeading", b"isHeading"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["isHeading", b"isHeading", "items", b"items"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    ROWS_FIELD_NUMBER: _builtins.int
    TITLE_FIELD_NUMBER: _builtins.int
    title: _builtins.str
    @_builtins.property
    def rows(self) -> _containers.RepeatedCompositeFieldContainer[Global___AIRichResponseTableMetadata.AIRichResponseTableRow]: ...
    def __init__(
        self,
        *,
        rows: _abc.Iterable[Global___AIRichResponseTableMetadata.AIRichResponseTableRow] | None = ...,
        title: _builtins.str | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["title", b"title"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["rows", b"rows", "title", b"title"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseTableMetadata: _TypeAlias = AIRichResponseTableMetadata  # noqa: Y015

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

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

        LATEXEXPRESSION_FIELD_NUMBER: _builtins.int
        URL_FIELD_NUMBER: _builtins.int
        WIDTH_FIELD_NUMBER: _builtins.int
        HEIGHT_FIELD_NUMBER: _builtins.int
        FONTHEIGHT_FIELD_NUMBER: _builtins.int
        IMAGETOPPADDING_FIELD_NUMBER: _builtins.int
        IMAGELEADINGPADDING_FIELD_NUMBER: _builtins.int
        IMAGEBOTTOMPADDING_FIELD_NUMBER: _builtins.int
        IMAGETRAILINGPADDING_FIELD_NUMBER: _builtins.int
        latexExpression: _builtins.str
        URL: _builtins.str
        width: _builtins.float
        height: _builtins.float
        fontHeight: _builtins.float
        imageTopPadding: _builtins.float
        imageLeadingPadding: _builtins.float
        imageBottomPadding: _builtins.float
        imageTrailingPadding: _builtins.float
        def __init__(
            self,
            *,
            latexExpression: _builtins.str | None = ...,
            URL: _builtins.str | None = ...,
            width: _builtins.float | None = ...,
            height: _builtins.float | None = ...,
            fontHeight: _builtins.float | None = ...,
            imageTopPadding: _builtins.float | None = ...,
            imageLeadingPadding: _builtins.float | None = ...,
            imageBottomPadding: _builtins.float | None = ...,
            imageTrailingPadding: _builtins.float | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["URL", b"URL", "fontHeight", b"fontHeight", "height", b"height", "imageBottomPadding", b"imageBottomPadding", "imageLeadingPadding", b"imageLeadingPadding", "imageTopPadding", b"imageTopPadding", "imageTrailingPadding", b"imageTrailingPadding", "latexExpression", b"latexExpression", "width", b"width"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["URL", b"URL", "fontHeight", b"fontHeight", "height", b"height", "imageBottomPadding", b"imageBottomPadding", "imageLeadingPadding", b"imageLeadingPadding", "imageTopPadding", b"imageTopPadding", "imageTrailingPadding", b"imageTrailingPadding", "latexExpression", b"latexExpression", "width", b"width"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    TEXT_FIELD_NUMBER: _builtins.int
    EXPRESSIONS_FIELD_NUMBER: _builtins.int
    text: _builtins.str
    @_builtins.property
    def expressions(self) -> _containers.RepeatedCompositeFieldContainer[Global___AIRichResponseLatexMetadata.AIRichResponseLatexExpression]: ...
    def __init__(
        self,
        *,
        text: _builtins.str | None = ...,
        expressions: _abc.Iterable[Global___AIRichResponseLatexMetadata.AIRichResponseLatexExpression] | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["text", b"text"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["expressions", b"expressions", "text", b"text"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseLatexMetadata: _TypeAlias = AIRichResponseLatexMetadata  # noqa: Y015

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

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

        ANNOTATIONNUMBER_FIELD_NUMBER: _builtins.int
        LATITUDE_FIELD_NUMBER: _builtins.int
        LONGITUDE_FIELD_NUMBER: _builtins.int
        TITLE_FIELD_NUMBER: _builtins.int
        BODY_FIELD_NUMBER: _builtins.int
        annotationNumber: _builtins.int
        latitude: _builtins.float
        longitude: _builtins.float
        title: _builtins.str
        body: _builtins.str
        def __init__(
            self,
            *,
            annotationNumber: _builtins.int | None = ...,
            latitude: _builtins.float | None = ...,
            longitude: _builtins.float | None = ...,
            title: _builtins.str | None = ...,
            body: _builtins.str | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["annotationNumber", b"annotationNumber", "body", b"body", "latitude", b"latitude", "longitude", b"longitude", "title", b"title"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["annotationNumber", b"annotationNumber", "body", b"body", "latitude", b"latitude", "longitude", b"longitude", "title", b"title"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    CENTERLATITUDE_FIELD_NUMBER: _builtins.int
    CENTERLONGITUDE_FIELD_NUMBER: _builtins.int
    LATITUDEDELTA_FIELD_NUMBER: _builtins.int
    LONGITUDEDELTA_FIELD_NUMBER: _builtins.int
    ANNOTATIONS_FIELD_NUMBER: _builtins.int
    SHOWINFOLIST_FIELD_NUMBER: _builtins.int
    centerLatitude: _builtins.float
    centerLongitude: _builtins.float
    latitudeDelta: _builtins.float
    longitudeDelta: _builtins.float
    showInfoList: _builtins.bool
    @_builtins.property
    def annotations(self) -> _containers.RepeatedCompositeFieldContainer[Global___AIRichResponseMapMetadata.AIRichResponseMapAnnotation]: ...
    def __init__(
        self,
        *,
        centerLatitude: _builtins.float | None = ...,
        centerLongitude: _builtins.float | None = ...,
        latitudeDelta: _builtins.float | None = ...,
        longitudeDelta: _builtins.float | None = ...,
        annotations: _abc.Iterable[Global___AIRichResponseMapMetadata.AIRichResponseMapAnnotation] | None = ...,
        showInfoList: _builtins.bool | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["centerLatitude", b"centerLatitude", "centerLongitude", b"centerLongitude", "latitudeDelta", b"latitudeDelta", "longitudeDelta", b"longitudeDelta", "showInfoList", b"showInfoList"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["annotations", b"annotations", "centerLatitude", b"centerLatitude", "centerLongitude", b"centerLongitude", "latitudeDelta", b"latitudeDelta", "longitudeDelta", b"longitudeDelta", "showInfoList", b"showInfoList"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseMapMetadata: _TypeAlias = AIRichResponseMapMetadata  # noqa: Y015

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

    MESSAGETYPE_FIELD_NUMBER: _builtins.int
    GRIDIMAGEMETADATA_FIELD_NUMBER: _builtins.int
    MESSAGETEXT_FIELD_NUMBER: _builtins.int
    IMAGEMETADATA_FIELD_NUMBER: _builtins.int
    CODEMETADATA_FIELD_NUMBER: _builtins.int
    TABLEMETADATA_FIELD_NUMBER: _builtins.int
    DYNAMICMETADATA_FIELD_NUMBER: _builtins.int
    LATEXMETADATA_FIELD_NUMBER: _builtins.int
    MAPMETADATA_FIELD_NUMBER: _builtins.int
    CONTENTITEMSMETADATA_FIELD_NUMBER: _builtins.int
    messageType: Global___AIRichResponseSubMessageType.ValueType
    messageText: _builtins.str
    @_builtins.property
    def gridImageMetadata(self) -> Global___AIRichResponseGridImageMetadata: ...
    @_builtins.property
    def imageMetadata(self) -> Global___AIRichResponseInlineImageMetadata: ...
    @_builtins.property
    def codeMetadata(self) -> Global___AIRichResponseCodeMetadata: ...
    @_builtins.property
    def tableMetadata(self) -> Global___AIRichResponseTableMetadata: ...
    @_builtins.property
    def dynamicMetadata(self) -> Global___AIRichResponseDynamicMetadata: ...
    @_builtins.property
    def latexMetadata(self) -> Global___AIRichResponseLatexMetadata: ...
    @_builtins.property
    def mapMetadata(self) -> Global___AIRichResponseMapMetadata: ...
    @_builtins.property
    def contentItemsMetadata(self) -> Global___AIRichResponseContentItemsMetadata: ...
    def __init__(
        self,
        *,
        messageType: Global___AIRichResponseSubMessageType.ValueType | None = ...,
        gridImageMetadata: Global___AIRichResponseGridImageMetadata | None = ...,
        messageText: _builtins.str | None = ...,
        imageMetadata: Global___AIRichResponseInlineImageMetadata | None = ...,
        codeMetadata: Global___AIRichResponseCodeMetadata | None = ...,
        tableMetadata: Global___AIRichResponseTableMetadata | None = ...,
        dynamicMetadata: Global___AIRichResponseDynamicMetadata | None = ...,
        latexMetadata: Global___AIRichResponseLatexMetadata | None = ...,
        mapMetadata: Global___AIRichResponseMapMetadata | None = ...,
        contentItemsMetadata: Global___AIRichResponseContentItemsMetadata | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["codeMetadata", b"codeMetadata", "contentItemsMetadata", b"contentItemsMetadata", "dynamicMetadata", b"dynamicMetadata", "gridImageMetadata", b"gridImageMetadata", "imageMetadata", b"imageMetadata", "latexMetadata", b"latexMetadata", "mapMetadata", b"mapMetadata", "messageText", b"messageText", "messageType", b"messageType", "tableMetadata", b"tableMetadata"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["codeMetadata", b"codeMetadata", "contentItemsMetadata", b"contentItemsMetadata", "dynamicMetadata", b"dynamicMetadata", "gridImageMetadata", b"gridImageMetadata", "imageMetadata", b"imageMetadata", "latexMetadata", b"latexMetadata", "mapMetadata", b"mapMetadata", "messageText", b"messageText", "messageType", b"messageType", "tableMetadata", b"tableMetadata"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AIRichResponseSubMessage: _TypeAlias = AIRichResponseSubMessage  # noqa: Y015
