"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class BoundingBox(google.protobuf.message.Message):
    """BoundingBox represents the bounding box data structure"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOP_FIELD_NUMBER: builtins.int
    LEFT_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    top: builtins.float
    """Bounding box top y-axis value"""
    left: builtins.float
    """Bounding box left x-axis value"""
    width: builtins.float
    """Bounding box width value"""
    height: builtins.float
    """Bounding box height value"""
    def __init__(
        self,
        *,
        top: builtins.float = ...,
        left: builtins.float = ...,
        width: builtins.float = ...,
        height: builtins.float = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["height", b"height", "left", b"left", "top", b"top", "width", b"width"]) -> None: ...

global___BoundingBox = BoundingBox

@typing_extensions.final
class ExtraParamObject(google.protobuf.message.Message):
    """Additional hyperparameters for model inferences
    or other configuration not listsed in protobuf
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PARAM_NAME_FIELD_NUMBER: builtins.int
    PARAM_VALUE_FIELD_NUMBER: builtins.int
    param_name: builtins.str
    """Name of the hyperparameter"""
    param_value: builtins.str
    """Value of the hyperparameter"""
    def __init__(
        self,
        *,
        param_name: builtins.str = ...,
        param_value: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["param_name", b"param_name", "param_value", b"param_value"]) -> None: ...

global___ExtraParamObject = ExtraParamObject

@typing_extensions.final
class PromptImage(google.protobuf.message.Message):
    """Prompt Image for text generation model"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROMPT_IMAGE_URL_FIELD_NUMBER: builtins.int
    PROMPT_IMAGE_BASE64_FIELD_NUMBER: builtins.int
    prompt_image_url: builtins.str
    """Image URL"""
    prompt_image_base64: builtins.str
    """Base64 encoded Image"""
    def __init__(
        self,
        *,
        prompt_image_url: builtins.str = ...,
        prompt_image_base64: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["prompt_image_base64", b"prompt_image_base64", "prompt_image_url", b"prompt_image_url", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["prompt_image_base64", b"prompt_image_base64", "prompt_image_url", b"prompt_image_url", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["prompt_image_url", "prompt_image_base64"] | None: ...

global___PromptImage = PromptImage

@typing_extensions.final
class Content(google.protobuf.message.Message):
    """Content used for chat history in text generation model"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TYPE_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    PROMPT_IMAGE_FIELD_NUMBER: builtins.int
    type: builtins.str
    """Type of Content"""
    content: builtins.str
    """Content of Text Message"""
    @property
    def prompt_image(self) -> global___PromptImage:
        """Content of Image"""
    def __init__(
        self,
        *,
        type: builtins.str = ...,
        content: builtins.str = ...,
        prompt_image: global___PromptImage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["prompt_image", b"prompt_image"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["content", b"content", "prompt_image", b"prompt_image", "type", b"type"]) -> None: ...

global___Content = Content
