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

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.wrappers_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    MAX_PROMPT_TOKENS_FIELD_NUMBER: builtins.int
    @property
    def max_prompt_tokens(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    def __init__(
        self,
        *,
        max_prompt_tokens: google.protobuf.wrappers_pb2.Int64Value | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["max_prompt_tokens", b"max_prompt_tokens"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["max_prompt_tokens", b"max_prompt_tokens"]) -> None: ...

global___PromptTruncationOptions = PromptTruncationOptions

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

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

global___CompletionOptions = CompletionOptions

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

    SEARCH_INDEX_IDS_FIELD_NUMBER: builtins.int
    MAX_NUM_RESULTS_FIELD_NUMBER: builtins.int
    @property
    def search_index_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def max_num_results(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    def __init__(
        self,
        *,
        search_index_ids: collections.abc.Iterable[builtins.str] | None = ...,
        max_num_results: google.protobuf.wrappers_pb2.Int64Value | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["max_num_results", b"max_num_results"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["max_num_results", b"max_num_results", "search_index_ids", b"search_index_ids"]) -> None: ...

global___SearchIndexTool = SearchIndexTool

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

    SEARCH_INDEX_FIELD_NUMBER: builtins.int
    @property
    def search_index(self) -> global___SearchIndexTool: ...
    def __init__(
        self,
        *,
        search_index: global___SearchIndexTool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ToolType", b"ToolType", "search_index", b"search_index"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ToolType", b"ToolType", "search_index", b"search_index"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["ToolType", b"ToolType"]) -> typing.Literal["search_index"] | None: ...

global___Tool = Tool
