from google.api import annotations_pb2 as _annotations_pb2
from google.api import field_behavior_pb2 as _field_behavior_pb2
from tars.auth.v1 import auth_options_pb2 as _auth_options_pb2
from tars.cli.v1 import cli_pb2 as _cli_pb2
from tars.docs.v1 import docs_pb2 as _docs_pb2
from google.protobuf.internal import containers as _containers
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class PromptRequest(_message.Message):
    __slots__ = ("customer_id", "project_id", "model", "prompt", "key_id", "idempotency_key")
    CUSTOMER_ID_FIELD_NUMBER: _ClassVar[int]
    PROJECT_ID_FIELD_NUMBER: _ClassVar[int]
    MODEL_FIELD_NUMBER: _ClassVar[int]
    PROMPT_FIELD_NUMBER: _ClassVar[int]
    KEY_ID_FIELD_NUMBER: _ClassVar[int]
    IDEMPOTENCY_KEY_FIELD_NUMBER: _ClassVar[int]
    customer_id: str
    project_id: str
    model: str
    prompt: str
    key_id: str
    idempotency_key: str
    def __init__(self, customer_id: _Optional[str] = ..., project_id: _Optional[str] = ..., model: _Optional[str] = ..., prompt: _Optional[str] = ..., key_id: _Optional[str] = ..., idempotency_key: _Optional[str] = ...) -> None: ...

class PromptResponse(_message.Message):
    __slots__ = ("completion", "model", "dataplane_id", "prompt_tokens", "completion_tokens")
    COMPLETION_FIELD_NUMBER: _ClassVar[int]
    MODEL_FIELD_NUMBER: _ClassVar[int]
    DATAPLANE_ID_FIELD_NUMBER: _ClassVar[int]
    PROMPT_TOKENS_FIELD_NUMBER: _ClassVar[int]
    COMPLETION_TOKENS_FIELD_NUMBER: _ClassVar[int]
    completion: str
    model: str
    dataplane_id: str
    prompt_tokens: int
    completion_tokens: int
    def __init__(self, completion: _Optional[str] = ..., model: _Optional[str] = ..., dataplane_id: _Optional[str] = ..., prompt_tokens: _Optional[int] = ..., completion_tokens: _Optional[int] = ...) -> None: ...

class GetDataplaneURLRequest(_message.Message):
    __slots__ = ("project_id", "customer_id")
    PROJECT_ID_FIELD_NUMBER: _ClassVar[int]
    CUSTOMER_ID_FIELD_NUMBER: _ClassVar[int]
    project_id: str
    customer_id: str
    def __init__(self, project_id: _Optional[str] = ..., customer_id: _Optional[str] = ...) -> None: ...

class DataplaneURL(_message.Message):
    __slots__ = ("url", "customer_id", "project_id", "workspace_id", "name")
    URL_FIELD_NUMBER: _ClassVar[int]
    CUSTOMER_ID_FIELD_NUMBER: _ClassVar[int]
    PROJECT_ID_FIELD_NUMBER: _ClassVar[int]
    WORKSPACE_ID_FIELD_NUMBER: _ClassVar[int]
    NAME_FIELD_NUMBER: _ClassVar[int]
    url: str
    customer_id: str
    project_id: str
    workspace_id: str
    name: str
    def __init__(self, url: _Optional[str] = ..., customer_id: _Optional[str] = ..., project_id: _Optional[str] = ..., workspace_id: _Optional[str] = ..., name: _Optional[str] = ...) -> None: ...

class GetDataplaneURLResponse(_message.Message):
    __slots__ = ("dataplane",)
    DATAPLANE_FIELD_NUMBER: _ClassVar[int]
    dataplane: DataplaneURL
    def __init__(self, dataplane: _Optional[_Union[DataplaneURL, _Mapping]] = ...) -> None: ...

class ListDataplaneURLsRequest(_message.Message):
    __slots__ = ()
    def __init__(self) -> None: ...

class ListDataplaneURLsResponse(_message.Message):
    __slots__ = ("dataplanes",)
    DATAPLANES_FIELD_NUMBER: _ClassVar[int]
    dataplanes: _containers.RepeatedCompositeFieldContainer[DataplaneURL]
    def __init__(self, dataplanes: _Optional[_Iterable[_Union[DataplaneURL, _Mapping]]] = ...) -> None: ...
