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

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.struct_pb2
import google.protobuf.wrappers_pb2
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class BatchCompletionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODEL_URI_FIELD_NUMBER: builtins.int
    SOURCE_DATASET_ID_FIELD_NUMBER: builtins.int
    COMPLETION_OPTIONS_FIELD_NUMBER: builtins.int
    DATA_LOGGING_ENABLED_FIELD_NUMBER: builtins.int
    JSON_OBJECT_FIELD_NUMBER: builtins.int
    JSON_SCHEMA_FIELD_NUMBER: builtins.int
    model_uri: builtins.str
    source_dataset_id: builtins.str
    data_logging_enabled: builtins.bool
    json_object: builtins.bool
    @property
    def completion_options(self) -> global___CompletionOptions: ...
    @property
    def json_schema(self) -> global___JsonSchema: ...
    def __init__(
        self,
        *,
        model_uri: builtins.str = ...,
        source_dataset_id: builtins.str = ...,
        completion_options: global___CompletionOptions | None = ...,
        data_logging_enabled: builtins.bool = ...,
        json_object: builtins.bool = ...,
        json_schema: global___JsonSchema | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["StructuredOutput", b"StructuredOutput", "completion_options", b"completion_options", "json_object", b"json_object", "json_schema", b"json_schema"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["StructuredOutput", b"StructuredOutput", "completion_options", b"completion_options", "data_logging_enabled", b"data_logging_enabled", "json_object", b"json_object", "json_schema", b"json_schema", "model_uri", b"model_uri", "source_dataset_id", b"source_dataset_id"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["StructuredOutput", b"StructuredOutput"]) -> typing.Literal["json_object", "json_schema"] | None: ...

global___BatchCompletionRequest = BatchCompletionRequest

@typing.final
class CompletionOptions(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TEMPERATURE_FIELD_NUMBER: builtins.int
    MAX_TOKENS_FIELD_NUMBER: builtins.int
    REASONING_OPTIONS_FIELD_NUMBER: builtins.int
    @property
    def temperature(self) -> google.protobuf.wrappers_pb2.DoubleValue: ...
    @property
    def max_tokens(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    @property
    def reasoning_options(self) -> global___ReasoningOptions: ...
    def __init__(
        self,
        *,
        temperature: google.protobuf.wrappers_pb2.DoubleValue | None = ...,
        max_tokens: google.protobuf.wrappers_pb2.Int64Value | None = ...,
        reasoning_options: global___ReasoningOptions | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["max_tokens", b"max_tokens", "reasoning_options", b"reasoning_options", "temperature", b"temperature"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["max_tokens", b"max_tokens", "reasoning_options", b"reasoning_options", "temperature", b"temperature"]) -> None: ...

global___CompletionOptions = CompletionOptions

@typing.final
class ReasoningOptions(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _ReasoningMode:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _ReasoningModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ReasoningOptions._ReasoningMode.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        REASONING_MODE_UNSPECIFIED: ReasoningOptions._ReasoningMode.ValueType  # 0
        DISABLED: ReasoningOptions._ReasoningMode.ValueType  # 1
        ENABLED_HIDDEN: ReasoningOptions._ReasoningMode.ValueType  # 2

    class ReasoningMode(_ReasoningMode, metaclass=_ReasoningModeEnumTypeWrapper): ...
    REASONING_MODE_UNSPECIFIED: ReasoningOptions.ReasoningMode.ValueType  # 0
    DISABLED: ReasoningOptions.ReasoningMode.ValueType  # 1
    ENABLED_HIDDEN: ReasoningOptions.ReasoningMode.ValueType  # 2

    MODE_FIELD_NUMBER: builtins.int
    mode: global___ReasoningOptions.ReasoningMode.ValueType
    def __init__(
        self,
        *,
        mode: global___ReasoningOptions.ReasoningMode.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["mode", b"mode"]) -> None: ...

global___ReasoningOptions = ReasoningOptions

@typing.final
class JsonSchema(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCHEMA_FIELD_NUMBER: builtins.int
    @property
    def schema(self) -> google.protobuf.struct_pb2.Struct: ...
    def __init__(
        self,
        *,
        schema: google.protobuf.struct_pb2.Struct | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["schema", b"schema"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["schema", b"schema"]) -> None: ...

global___JsonSchema = JsonSchema
