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

import builtins
import collections.abc
from isolate.connections.grpc.definitions import common_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.struct_pb2
import google.protobuf.timestamp_pb2
from isolate.server.definitions import server_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

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

class _ApplicationAuthModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ApplicationAuthMode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    PRIVATE: _ApplicationAuthMode.ValueType  # 0
    PUBLIC: _ApplicationAuthMode.ValueType  # 1
    SHARED: _ApplicationAuthMode.ValueType  # 2

class ApplicationAuthMode(_ApplicationAuthMode, metaclass=_ApplicationAuthModeEnumTypeWrapper): ...

PRIVATE: ApplicationAuthMode.ValueType  # 0
PUBLIC: ApplicationAuthMode.ValueType  # 1
SHARED: ApplicationAuthMode.ValueType  # 2
global___ApplicationAuthMode = ApplicationAuthMode

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

class _DeploymentStrategyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DeploymentStrategy.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    RECREATE: _DeploymentStrategy.ValueType  # 0
    ROLLING: _DeploymentStrategy.ValueType  # 1

class DeploymentStrategy(_DeploymentStrategy, metaclass=_DeploymentStrategyEnumTypeWrapper): ...

RECREATE: DeploymentStrategy.ValueType  # 0
ROLLING: DeploymentStrategy.ValueType  # 1
global___DeploymentStrategy = DeploymentStrategy

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

    ENVIRONMENTS_FIELD_NUMBER: builtins.int
    MACHINE_REQUIREMENTS_FIELD_NUMBER: builtins.int
    FUNCTION_FIELD_NUMBER: builtins.int
    INPUTS_FIELD_NUMBER: builtins.int
    @property
    def environments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[server_pb2.EnvironmentDefinition]:
        """Environment definitions."""

    @property
    def machine_requirements(self) -> global___MachineRequirements:
        """Machine requirements"""

    @property
    def function(self) -> common_pb2.SerializedObject:
        """Function to run."""

    @property
    def inputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common_pb2.SerializedObject]:
        """Inputs to the function"""

    def __init__(
        self,
        *,
        environments: collections.abc.Iterable[server_pb2.EnvironmentDefinition] | None = ...,
        machine_requirements: global___MachineRequirements | None = ...,
        function: common_pb2.SerializedObject | None = ...,
        inputs: collections.abc.Iterable[common_pb2.SerializedObject] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_machine_requirements", b"_machine_requirements", "function", b"function", "machine_requirements", b"machine_requirements"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_machine_requirements", b"_machine_requirements", "environments", b"environments", "function", b"function", "inputs", b"inputs", "machine_requirements", b"machine_requirements"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_machine_requirements", b"_machine_requirements"]) -> typing.Literal["machine_requirements"] | None: ...

global___HostedMap = HostedMap

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

    HASH_FIELD_NUMBER: builtins.int
    RELATIVE_PATH_FIELD_NUMBER: builtins.int
    hash: builtins.str
    """File contains the hash and the relative path of the local file"""
    relative_path: builtins.str
    def __init__(
        self,
        *,
        hash: builtins.str = ...,
        relative_path: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["hash", b"hash", "relative_path", b"relative_path"]) -> None: ...

global___File = File

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

    ENVIRONMENTS_FIELD_NUMBER: builtins.int
    MACHINE_REQUIREMENTS_FIELD_NUMBER: builtins.int
    FUNCTION_FIELD_NUMBER: builtins.int
    SETUP_FUNC_FIELD_NUMBER: builtins.int
    FILES_FIELD_NUMBER: builtins.int
    @property
    def environments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[server_pb2.EnvironmentDefinition]:
        """Environment definitions."""

    @property
    def machine_requirements(self) -> global___MachineRequirements:
        """Machine requirements"""

    @property
    def function(self) -> common_pb2.SerializedObject:
        """Function to run."""

    @property
    def setup_func(self) -> common_pb2.SerializedObject:
        """Optional setup function to pass as the first argument to the function."""

    @property
    def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___File]:
        """Optional files to be included"""

    def __init__(
        self,
        *,
        environments: collections.abc.Iterable[server_pb2.EnvironmentDefinition] | None = ...,
        machine_requirements: global___MachineRequirements | None = ...,
        function: common_pb2.SerializedObject | None = ...,
        setup_func: common_pb2.SerializedObject | None = ...,
        files: collections.abc.Iterable[global___File] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_machine_requirements", b"_machine_requirements", "_setup_func", b"_setup_func", "function", b"function", "machine_requirements", b"machine_requirements", "setup_func", b"setup_func"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_machine_requirements", b"_machine_requirements", "_setup_func", b"_setup_func", "environments", b"environments", "files", b"files", "function", b"function", "machine_requirements", b"machine_requirements", "setup_func", b"setup_func"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_machine_requirements", b"_machine_requirements"]) -> typing.Literal["machine_requirements"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_setup_func", b"_setup_func"]) -> typing.Literal["setup_func"] | None: ...

global___HostedRun = HostedRun

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

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

    class _ScopeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CreateUserKeyRequest._Scope.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        ADMIN: CreateUserKeyRequest._Scope.ValueType  # 0
        API: CreateUserKeyRequest._Scope.ValueType  # 1

    class Scope(_Scope, metaclass=_ScopeEnumTypeWrapper): ...
    ADMIN: CreateUserKeyRequest.Scope.ValueType  # 0
    API: CreateUserKeyRequest.Scope.ValueType  # 1

    SCOPE_FIELD_NUMBER: builtins.int
    ALIAS_FIELD_NUMBER: builtins.int
    scope: global___CreateUserKeyRequest.Scope.ValueType
    """privilege scope of the key"""
    alias: builtins.str
    """optional alias of the key"""
    def __init__(
        self,
        *,
        scope: global___CreateUserKeyRequest.Scope.ValueType = ...,
        alias: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_alias", b"_alias", "alias", b"alias"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_alias", b"_alias", "alias", b"alias", "scope", b"scope"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_alias", b"_alias"]) -> typing.Literal["alias"] | None: ...

global___CreateUserKeyRequest = CreateUserKeyRequest

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

    KEY_SECRET_FIELD_NUMBER: builtins.int
    KEY_ID_FIELD_NUMBER: builtins.int
    key_secret: builtins.str
    key_id: builtins.str
    def __init__(
        self,
        *,
        key_secret: builtins.str = ...,
        key_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["key_id", b"key_id", "key_secret", b"key_secret"]) -> None: ...

global___CreateUserKeyResponse = CreateUserKeyResponse

@typing.final
class ListUserKeysRequest(google.protobuf.message.Message):
    """Empty. For future use."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___ListUserKeysRequest = ListUserKeysRequest

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

    USER_KEYS_FIELD_NUMBER: builtins.int
    @property
    def user_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserKeyInfo]: ...
    def __init__(
        self,
        *,
        user_keys: collections.abc.Iterable[global___UserKeyInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["user_keys", b"user_keys"]) -> None: ...

global___ListUserKeysResponse = ListUserKeysResponse

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

    KEY_ID_FIELD_NUMBER: builtins.int
    key_id: builtins.str
    def __init__(
        self,
        *,
        key_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["key_id", b"key_id"]) -> None: ...

global___RevokeUserKeyRequest = RevokeUserKeyRequest

@typing.final
class RevokeUserKeyResponse(google.protobuf.message.Message):
    """Empty. For future use."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___RevokeUserKeyResponse = RevokeUserKeyResponse

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

    KEY_ID_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    SCOPE_FIELD_NUMBER: builtins.int
    ALIAS_FIELD_NUMBER: builtins.int
    key_id: builtins.str
    scope: global___CreateUserKeyRequest.Scope.ValueType
    alias: builtins.str
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        key_id: builtins.str = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        scope: global___CreateUserKeyRequest.Scope.ValueType = ...,
        alias: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created_at", b"created_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["alias", b"alias", "created_at", b"created_at", "key_id", b"key_id", "scope", b"scope"]) -> None: ...

global___UserKeyInfo = UserKeyInfo

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

    PLAYGROUND_FIELD_NUMBER: builtins.int
    RUN_FIELD_NUMBER: builtins.int
    QUEUE_FIELD_NUMBER: builtins.int
    WS_FIELD_NUMBER: builtins.int
    playground: builtins.str
    run: builtins.str
    queue: builtins.str
    ws: builtins.str
    def __init__(
        self,
        *,
        playground: builtins.str = ...,
        run: builtins.str = ...,
        queue: builtins.str = ...,
        ws: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["playground", b"playground", "queue", b"queue", "run", b"run", "ws", b"ws"]) -> None: ...

global___ServiceURLs = ServiceURLs

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

    RUN_ID_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    LOGS_FIELD_NUMBER: builtins.int
    RETURN_VALUE_FIELD_NUMBER: builtins.int
    SERVICE_URLS_FIELD_NUMBER: builtins.int
    run_id: builtins.str
    """Unique run id / token."""
    @property
    def status(self) -> global___HostedRunStatus:
        """Optionally the status of the current run (in terms of
        fal cloud).
        """

    @property
    def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common_pb2.Log]:
        """The most recent logs from the run."""

    @property
    def return_value(self) -> common_pb2.SerializedObject:
        """The result of the run, if it is complete (indicated by
        status.is_complete).
        """

    @property
    def service_urls(self) -> global___ServiceURLs:
        """Service URLs for the run"""

    def __init__(
        self,
        *,
        run_id: builtins.str = ...,
        status: global___HostedRunStatus | None = ...,
        logs: collections.abc.Iterable[common_pb2.Log] | None = ...,
        return_value: common_pb2.SerializedObject | None = ...,
        service_urls: global___ServiceURLs | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_return_value", b"_return_value", "_service_urls", b"_service_urls", "_status", b"_status", "return_value", b"return_value", "service_urls", b"service_urls", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_return_value", b"_return_value", "_service_urls", b"_service_urls", "_status", b"_status", "logs", b"logs", "return_value", b"return_value", "run_id", b"run_id", "service_urls", b"service_urls", "status", b"status"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_return_value", b"_return_value"]) -> typing.Literal["return_value"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_service_urls", b"_service_urls"]) -> typing.Literal["service_urls"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_status", b"_status"]) -> typing.Literal["status"] | None: ...

global___HostedRunResult = HostedRunResult

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

    HOSTED_RUN_FIELD_NUMBER: builtins.int
    @property
    def hosted_run(self) -> global___HostedRun: ...
    def __init__(
        self,
        *,
        hosted_run: global___HostedRun | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["hosted_run", b"hosted_run"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["hosted_run", b"hosted_run"]) -> None: ...

global___InteractiveRunRequest = InteractiveRunRequest

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

    HOSTED_RUN_RESULT_FIELD_NUMBER: builtins.int
    @property
    def hosted_run_result(self) -> global___HostedRunResult: ...
    def __init__(
        self,
        *,
        hosted_run_result: global___HostedRunResult | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["hosted_run_result", b"hosted_run_result"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["hosted_run_result", b"hosted_run_result"]) -> None: ...

global___InteractiveRunResponse = InteractiveRunResponse

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

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

    class _StateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HostedRunStatus._State.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        IN_PROGRESS: HostedRunStatus._State.ValueType  # 0
        """The run is in progress."""
        SUCCESS: HostedRunStatus._State.ValueType  # 1
        """The run has completed successfully."""
        INTERNAL_FAILURE: HostedRunStatus._State.ValueType  # 2
        """The run has failed because of isolate.
        TODO: probably QUEUED, etc.
        """

    class State(_State, metaclass=_StateEnumTypeWrapper): ...
    IN_PROGRESS: HostedRunStatus.State.ValueType  # 0
    """The run is in progress."""
    SUCCESS: HostedRunStatus.State.ValueType  # 1
    """The run has completed successfully."""
    INTERNAL_FAILURE: HostedRunStatus.State.ValueType  # 2
    """The run has failed because of isolate.
    TODO: probably QUEUED, etc.
    """

    STATE_FIELD_NUMBER: builtins.int
    state: global___HostedRunStatus.State.ValueType
    """The state of the run."""
    def __init__(
        self,
        *,
        state: global___HostedRunStatus.State.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["state", b"state"]) -> None: ...

global___HostedRunStatus = HostedRunStatus

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

    MACHINE_TYPE_FIELD_NUMBER: builtins.int
    KEEP_ALIVE_FIELD_NUMBER: builtins.int
    BASE_IMAGE_FIELD_NUMBER: builtins.int
    EXPOSED_PORT_FIELD_NUMBER: builtins.int
    SCHEDULER_FIELD_NUMBER: builtins.int
    SCHEDULER_OPTIONS_FIELD_NUMBER: builtins.int
    MAX_MULTIPLEXING_FIELD_NUMBER: builtins.int
    MAX_CONCURRENCY_FIELD_NUMBER: builtins.int
    MIN_CONCURRENCY_FIELD_NUMBER: builtins.int
    MACHINE_TYPES_FIELD_NUMBER: builtins.int
    NUM_GPUS_FIELD_NUMBER: builtins.int
    REQUEST_TIMEOUT_FIELD_NUMBER: builtins.int
    STARTUP_TIMEOUT_FIELD_NUMBER: builtins.int
    CONCURRENCY_BUFFER_FIELD_NUMBER: builtins.int
    CONCURRENCY_BUFFER_PERC_FIELD_NUMBER: builtins.int
    SCALING_DELAY_SECONDS_FIELD_NUMBER: builtins.int
    machine_type: builtins.str
    """Machine type. It is not an enum because we want to be able
    to dynamically add new machine types without regenerating
    both the client and the server. Validation is done at the
    server side.
    If machine_types is set, machine_type is ignored.
    deprecated
    """
    keep_alive: builtins.int
    base_image: builtins.str
    exposed_port: builtins.int
    scheduler: builtins.str
    max_multiplexing: builtins.int
    max_concurrency: builtins.int
    min_concurrency: builtins.int
    num_gpus: builtins.int
    request_timeout: builtins.int
    startup_timeout: builtins.int
    concurrency_buffer: builtins.int
    concurrency_buffer_perc: builtins.int
    scaling_delay_seconds: builtins.int
    @property
    def scheduler_options(self) -> google.protobuf.struct_pb2.Struct: ...
    @property
    def machine_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """machine_type alternative"""

    def __init__(
        self,
        *,
        machine_type: builtins.str | None = ...,
        keep_alive: builtins.int | None = ...,
        base_image: builtins.str | None = ...,
        exposed_port: builtins.int | None = ...,
        scheduler: builtins.str | None = ...,
        scheduler_options: google.protobuf.struct_pb2.Struct | None = ...,
        max_multiplexing: builtins.int | None = ...,
        max_concurrency: builtins.int | None = ...,
        min_concurrency: builtins.int | None = ...,
        machine_types: collections.abc.Iterable[builtins.str] | None = ...,
        num_gpus: builtins.int | None = ...,
        request_timeout: builtins.int | None = ...,
        startup_timeout: builtins.int | None = ...,
        concurrency_buffer: builtins.int | None = ...,
        concurrency_buffer_perc: builtins.int | None = ...,
        scaling_delay_seconds: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_base_image", b"_base_image", "_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_exposed_port", b"_exposed_port", "_keep_alive", b"_keep_alive", "_machine_type", b"_machine_type", "_max_concurrency", b"_max_concurrency", "_max_multiplexing", b"_max_multiplexing", "_min_concurrency", b"_min_concurrency", "_num_gpus", b"_num_gpus", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_scheduler", b"_scheduler", "_scheduler_options", b"_scheduler_options", "_startup_timeout", b"_startup_timeout", "base_image", b"base_image", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "exposed_port", b"exposed_port", "keep_alive", b"keep_alive", "machine_type", b"machine_type", "max_concurrency", b"max_concurrency", "max_multiplexing", b"max_multiplexing", "min_concurrency", b"min_concurrency", "num_gpus", b"num_gpus", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "scheduler", b"scheduler", "scheduler_options", b"scheduler_options", "startup_timeout", b"startup_timeout"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_base_image", b"_base_image", "_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_exposed_port", b"_exposed_port", "_keep_alive", b"_keep_alive", "_machine_type", b"_machine_type", "_max_concurrency", b"_max_concurrency", "_max_multiplexing", b"_max_multiplexing", "_min_concurrency", b"_min_concurrency", "_num_gpus", b"_num_gpus", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_scheduler", b"_scheduler", "_scheduler_options", b"_scheduler_options", "_startup_timeout", b"_startup_timeout", "base_image", b"base_image", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "exposed_port", b"exposed_port", "keep_alive", b"keep_alive", "machine_type", b"machine_type", "machine_types", b"machine_types", "max_concurrency", b"max_concurrency", "max_multiplexing", b"max_multiplexing", "min_concurrency", b"min_concurrency", "num_gpus", b"num_gpus", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "scheduler", b"scheduler", "scheduler_options", b"scheduler_options", "startup_timeout", b"startup_timeout"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_base_image", b"_base_image"]) -> typing.Literal["base_image"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_concurrency_buffer", b"_concurrency_buffer"]) -> typing.Literal["concurrency_buffer"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_concurrency_buffer_perc", b"_concurrency_buffer_perc"]) -> typing.Literal["concurrency_buffer_perc"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_exposed_port", b"_exposed_port"]) -> typing.Literal["exposed_port"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_keep_alive", b"_keep_alive"]) -> typing.Literal["keep_alive"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_machine_type", b"_machine_type"]) -> typing.Literal["machine_type"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_max_concurrency", b"_max_concurrency"]) -> typing.Literal["max_concurrency"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_max_multiplexing", b"_max_multiplexing"]) -> typing.Literal["max_multiplexing"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_min_concurrency", b"_min_concurrency"]) -> typing.Literal["min_concurrency"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_num_gpus", b"_num_gpus"]) -> typing.Literal["num_gpus"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_request_timeout", b"_request_timeout"]) -> typing.Literal["request_timeout"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_scaling_delay_seconds", b"_scaling_delay_seconds"]) -> typing.Literal["scaling_delay_seconds"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_scheduler", b"_scheduler"]) -> typing.Literal["scheduler"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_scheduler_options", b"_scheduler_options"]) -> typing.Literal["scheduler_options"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_startup_timeout", b"_startup_timeout"]) -> typing.Literal["startup_timeout"] | None: ...

global___MachineRequirements = MachineRequirements

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

    ENVIRONMENTS_FIELD_NUMBER: builtins.int
    MACHINE_REQUIREMENTS_FIELD_NUMBER: builtins.int
    FUNCTION_FIELD_NUMBER: builtins.int
    SETUP_FUNC_FIELD_NUMBER: builtins.int
    APPLICATION_NAME_FIELD_NUMBER: builtins.int
    AUTH_MODE_FIELD_NUMBER: builtins.int
    MAX_CONCURRENCY_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    DEPLOYMENT_STRATEGY_FIELD_NUMBER: builtins.int
    SCALE_FIELD_NUMBER: builtins.int
    PRIVATE_LOGS_FIELD_NUMBER: builtins.int
    FILES_FIELD_NUMBER: builtins.int
    SOURCE_CODE_FIELD_NUMBER: builtins.int
    application_name: builtins.str
    """Name of the application"""
    auth_mode: global___ApplicationAuthMode.ValueType
    """If application has alias: auth mode to use"""
    max_concurrency: builtins.int
    """Max concurrency in gateway"""
    deployment_strategy: global___DeploymentStrategy.ValueType
    """Deployment strategy"""
    scale: builtins.bool
    """To ignore/respect the scaling settings of the application
    when re-deploying an existing application.
    """
    private_logs: builtins.bool
    """To make all logs generated from the app private"""
    source_code: builtins.str
    """Source code of the app implementation"""
    @property
    def environments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[server_pb2.EnvironmentDefinition]:
        """Environment definitions."""

    @property
    def machine_requirements(self) -> global___MachineRequirements:
        """Machine requirements"""

    @property
    def function(self) -> common_pb2.SerializedObject:
        """Function to run."""

    @property
    def setup_func(self) -> common_pb2.SerializedObject:
        """Optional setup function to pass as the first argument to the function."""

    @property
    def metadata(self) -> google.protobuf.struct_pb2.Struct:
        """metadata to store with the application"""

    @property
    def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___File]:
        """Optional files to be included"""

    def __init__(
        self,
        *,
        environments: collections.abc.Iterable[server_pb2.EnvironmentDefinition] | None = ...,
        machine_requirements: global___MachineRequirements | None = ...,
        function: common_pb2.SerializedObject | None = ...,
        setup_func: common_pb2.SerializedObject | None = ...,
        application_name: builtins.str | None = ...,
        auth_mode: global___ApplicationAuthMode.ValueType | None = ...,
        max_concurrency: builtins.int | None = ...,
        metadata: google.protobuf.struct_pb2.Struct | None = ...,
        deployment_strategy: global___DeploymentStrategy.ValueType | None = ...,
        scale: builtins.bool | None = ...,
        private_logs: builtins.bool | None = ...,
        files: collections.abc.Iterable[global___File] | None = ...,
        source_code: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_application_name", b"_application_name", "_auth_mode", b"_auth_mode", "_deployment_strategy", b"_deployment_strategy", "_machine_requirements", b"_machine_requirements", "_max_concurrency", b"_max_concurrency", "_metadata", b"_metadata", "_private_logs", b"_private_logs", "_scale", b"_scale", "_setup_func", b"_setup_func", "_source_code", b"_source_code", "application_name", b"application_name", "auth_mode", b"auth_mode", "deployment_strategy", b"deployment_strategy", "function", b"function", "machine_requirements", b"machine_requirements", "max_concurrency", b"max_concurrency", "metadata", b"metadata", "private_logs", b"private_logs", "scale", b"scale", "setup_func", b"setup_func", "source_code", b"source_code"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_application_name", b"_application_name", "_auth_mode", b"_auth_mode", "_deployment_strategy", b"_deployment_strategy", "_machine_requirements", b"_machine_requirements", "_max_concurrency", b"_max_concurrency", "_metadata", b"_metadata", "_private_logs", b"_private_logs", "_scale", b"_scale", "_setup_func", b"_setup_func", "_source_code", b"_source_code", "application_name", b"application_name", "auth_mode", b"auth_mode", "deployment_strategy", b"deployment_strategy", "environments", b"environments", "files", b"files", "function", b"function", "machine_requirements", b"machine_requirements", "max_concurrency", b"max_concurrency", "metadata", b"metadata", "private_logs", b"private_logs", "scale", b"scale", "setup_func", b"setup_func", "source_code", b"source_code"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_application_name", b"_application_name"]) -> typing.Literal["application_name"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_auth_mode", b"_auth_mode"]) -> typing.Literal["auth_mode"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_deployment_strategy", b"_deployment_strategy"]) -> typing.Literal["deployment_strategy"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_machine_requirements", b"_machine_requirements"]) -> typing.Literal["machine_requirements"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_max_concurrency", b"_max_concurrency"]) -> typing.Literal["max_concurrency"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_metadata", b"_metadata"]) -> typing.Literal["metadata"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_private_logs", b"_private_logs"]) -> typing.Literal["private_logs"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_scale", b"_scale"]) -> typing.Literal["scale"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_setup_func", b"_setup_func"]) -> typing.Literal["setup_func"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_source_code", b"_source_code"]) -> typing.Literal["source_code"] | None: ...

global___RegisterApplicationRequest = RegisterApplicationRequest

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

    APPLICATION_ID_FIELD_NUMBER: builtins.int
    application_id: builtins.str
    def __init__(
        self,
        *,
        application_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["application_id", b"application_id"]) -> None: ...

global___RegisterApplicationResultType = RegisterApplicationResultType

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

    LOGS_FIELD_NUMBER: builtins.int
    RESULT_FIELD_NUMBER: builtins.int
    SERVICE_URLS_FIELD_NUMBER: builtins.int
    @property
    def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common_pb2.Log]: ...
    @property
    def result(self) -> global___RegisterApplicationResultType: ...
    @property
    def service_urls(self) -> global___ServiceURLs: ...
    def __init__(
        self,
        *,
        logs: collections.abc.Iterable[common_pb2.Log] | None = ...,
        result: global___RegisterApplicationResultType | None = ...,
        service_urls: global___ServiceURLs | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_result", b"_result", "_service_urls", b"_service_urls", "result", b"result", "service_urls", b"service_urls"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_result", b"_result", "_service_urls", b"_service_urls", "logs", b"logs", "result", b"result", "service_urls", b"service_urls"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_result", b"_result"]) -> typing.Literal["result"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_service_urls", b"_service_urls"]) -> typing.Literal["service_urls"] | None: ...

global___RegisterApplicationResult = RegisterApplicationResult

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

    APPLICATION_NAME_FIELD_NUMBER: builtins.int
    KEEP_ALIVE_FIELD_NUMBER: builtins.int
    MAX_MULTIPLEXING_FIELD_NUMBER: builtins.int
    MAX_CONCURRENCY_FIELD_NUMBER: builtins.int
    MIN_CONCURRENCY_FIELD_NUMBER: builtins.int
    VALID_REGIONS_FIELD_NUMBER: builtins.int
    MACHINE_TYPES_FIELD_NUMBER: builtins.int
    REQUEST_TIMEOUT_FIELD_NUMBER: builtins.int
    STARTUP_TIMEOUT_FIELD_NUMBER: builtins.int
    CONCURRENCY_BUFFER_FIELD_NUMBER: builtins.int
    CONCURRENCY_BUFFER_PERC_FIELD_NUMBER: builtins.int
    SCALING_DELAY_SECONDS_FIELD_NUMBER: builtins.int
    application_name: builtins.str
    keep_alive: builtins.int
    max_multiplexing: builtins.int
    max_concurrency: builtins.int
    min_concurrency: builtins.int
    request_timeout: builtins.int
    startup_timeout: builtins.int
    concurrency_buffer: builtins.int
    concurrency_buffer_perc: builtins.int
    scaling_delay_seconds: builtins.int
    @property
    def valid_regions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def machine_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        application_name: builtins.str = ...,
        keep_alive: builtins.int | None = ...,
        max_multiplexing: builtins.int | None = ...,
        max_concurrency: builtins.int | None = ...,
        min_concurrency: builtins.int | None = ...,
        valid_regions: collections.abc.Iterable[builtins.str] | None = ...,
        machine_types: collections.abc.Iterable[builtins.str] | None = ...,
        request_timeout: builtins.int | None = ...,
        startup_timeout: builtins.int | None = ...,
        concurrency_buffer: builtins.int | None = ...,
        concurrency_buffer_perc: builtins.int | None = ...,
        scaling_delay_seconds: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_keep_alive", b"_keep_alive", "_max_concurrency", b"_max_concurrency", "_max_multiplexing", b"_max_multiplexing", "_min_concurrency", b"_min_concurrency", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_startup_timeout", b"_startup_timeout", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "keep_alive", b"keep_alive", "max_concurrency", b"max_concurrency", "max_multiplexing", b"max_multiplexing", "min_concurrency", b"min_concurrency", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "startup_timeout", b"startup_timeout"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_keep_alive", b"_keep_alive", "_max_concurrency", b"_max_concurrency", "_max_multiplexing", b"_max_multiplexing", "_min_concurrency", b"_min_concurrency", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_startup_timeout", b"_startup_timeout", "application_name", b"application_name", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "keep_alive", b"keep_alive", "machine_types", b"machine_types", "max_concurrency", b"max_concurrency", "max_multiplexing", b"max_multiplexing", "min_concurrency", b"min_concurrency", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "startup_timeout", b"startup_timeout", "valid_regions", b"valid_regions"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_concurrency_buffer", b"_concurrency_buffer"]) -> typing.Literal["concurrency_buffer"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_concurrency_buffer_perc", b"_concurrency_buffer_perc"]) -> typing.Literal["concurrency_buffer_perc"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_keep_alive", b"_keep_alive"]) -> typing.Literal["keep_alive"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_max_concurrency", b"_max_concurrency"]) -> typing.Literal["max_concurrency"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_max_multiplexing", b"_max_multiplexing"]) -> typing.Literal["max_multiplexing"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_min_concurrency", b"_min_concurrency"]) -> typing.Literal["min_concurrency"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_request_timeout", b"_request_timeout"]) -> typing.Literal["request_timeout"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_scaling_delay_seconds", b"_scaling_delay_seconds"]) -> typing.Literal["scaling_delay_seconds"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_startup_timeout", b"_startup_timeout"]) -> typing.Literal["startup_timeout"] | None: ...

global___UpdateApplicationRequest = UpdateApplicationRequest

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

    ALIAS_INFO_FIELD_NUMBER: builtins.int
    @property
    def alias_info(self) -> global___AliasInfo: ...
    def __init__(
        self,
        *,
        alias_info: global___AliasInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["alias_info", b"alias_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["alias_info", b"alias_info"]) -> None: ...

global___UpdateApplicationResult = UpdateApplicationResult

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

    APPLICATION_NAME_FIELD_NUMBER: builtins.int
    application_name: builtins.str
    def __init__(
        self,
        *,
        application_name: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_application_name", b"_application_name", "application_name", b"application_name"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_application_name", b"_application_name", "application_name", b"application_name"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_application_name", b"_application_name"]) -> typing.Literal["application_name"] | None: ...

global___ListApplicationsRequest = ListApplicationsRequest

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

    APPLICATION_ID_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    MAX_CONCURRENCY_FIELD_NUMBER: builtins.int
    MAX_MULTIPLEXING_FIELD_NUMBER: builtins.int
    KEEP_ALIVE_FIELD_NUMBER: builtins.int
    ACTIVE_RUNNERS_FIELD_NUMBER: builtins.int
    MIN_CONCURRENCY_FIELD_NUMBER: builtins.int
    MACHINE_TYPES_FIELD_NUMBER: builtins.int
    REQUEST_TIMEOUT_FIELD_NUMBER: builtins.int
    STARTUP_TIMEOUT_FIELD_NUMBER: builtins.int
    VALID_REGIONS_FIELD_NUMBER: builtins.int
    CONCURRENCY_BUFFER_FIELD_NUMBER: builtins.int
    CONCURRENCY_BUFFER_PERC_FIELD_NUMBER: builtins.int
    SCALING_DELAY_SECONDS_FIELD_NUMBER: builtins.int
    application_id: builtins.str
    max_concurrency: builtins.int
    max_multiplexing: builtins.int
    keep_alive: builtins.int
    active_runners: builtins.int
    min_concurrency: builtins.int
    request_timeout: builtins.int
    startup_timeout: builtins.int
    concurrency_buffer: builtins.int
    concurrency_buffer_perc: builtins.int
    scaling_delay_seconds: builtins.int
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def machine_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def valid_regions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        application_id: builtins.str = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        max_concurrency: builtins.int = ...,
        max_multiplexing: builtins.int = ...,
        keep_alive: builtins.int = ...,
        active_runners: builtins.int = ...,
        min_concurrency: builtins.int = ...,
        machine_types: collections.abc.Iterable[builtins.str] | None = ...,
        request_timeout: builtins.int | None = ...,
        startup_timeout: builtins.int | None = ...,
        valid_regions: collections.abc.Iterable[builtins.str] | None = ...,
        concurrency_buffer: builtins.int | None = ...,
        concurrency_buffer_perc: builtins.int | None = ...,
        scaling_delay_seconds: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_startup_timeout", b"_startup_timeout", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "created_at", b"created_at", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "startup_timeout", b"startup_timeout"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_startup_timeout", b"_startup_timeout", "active_runners", b"active_runners", "application_id", b"application_id", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "created_at", b"created_at", "keep_alive", b"keep_alive", "machine_types", b"machine_types", "max_concurrency", b"max_concurrency", "max_multiplexing", b"max_multiplexing", "min_concurrency", b"min_concurrency", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "startup_timeout", b"startup_timeout", "valid_regions", b"valid_regions"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_concurrency_buffer", b"_concurrency_buffer"]) -> typing.Literal["concurrency_buffer"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_concurrency_buffer_perc", b"_concurrency_buffer_perc"]) -> typing.Literal["concurrency_buffer_perc"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_request_timeout", b"_request_timeout"]) -> typing.Literal["request_timeout"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_scaling_delay_seconds", b"_scaling_delay_seconds"]) -> typing.Literal["scaling_delay_seconds"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_startup_timeout", b"_startup_timeout"]) -> typing.Literal["startup_timeout"] | None: ...

global___ApplicationInfo = ApplicationInfo

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

    APPLICATIONS_FIELD_NUMBER: builtins.int
    @property
    def applications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ApplicationInfo]: ...
    def __init__(
        self,
        *,
        applications: collections.abc.Iterable[global___ApplicationInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["applications", b"applications"]) -> None: ...

global___ListApplicationsResult = ListApplicationsResult

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

    APPLICATION_ID_FIELD_NUMBER: builtins.int
    application_id: builtins.str
    def __init__(
        self,
        *,
        application_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["application_id", b"application_id"]) -> None: ...

global___DeleteApplicationRequest = DeleteApplicationRequest

@typing.final
class DeleteApplicationResult(google.protobuf.message.Message):
    """Empty. For future use."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___DeleteApplicationResult = DeleteApplicationResult

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

    APPLICATION_NAME_FIELD_NUMBER: builtins.int
    FORCE_FIELD_NUMBER: builtins.int
    application_name: builtins.str
    force: builtins.bool
    def __init__(
        self,
        *,
        application_name: builtins.str = ...,
        force: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_force", b"_force", "force", b"force"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_force", b"_force", "application_name", b"application_name", "force", b"force"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_force", b"_force"]) -> typing.Literal["force"] | None: ...

global___RolloutApplicationRequest = RolloutApplicationRequest

@typing.final
class RolloutApplicationResult(google.protobuf.message.Message):
    """Empty. For future use."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___RolloutApplicationResult = RolloutApplicationResult

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

    ALIAS_FIELD_NUMBER: builtins.int
    REVISION_FIELD_NUMBER: builtins.int
    AUTH_MODE_FIELD_NUMBER: builtins.int
    alias: builtins.str
    revision: builtins.str
    auth_mode: global___ApplicationAuthMode.ValueType
    def __init__(
        self,
        *,
        alias: builtins.str = ...,
        revision: builtins.str = ...,
        auth_mode: global___ApplicationAuthMode.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_auth_mode", b"_auth_mode", "auth_mode", b"auth_mode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_auth_mode", b"_auth_mode", "alias", b"alias", "auth_mode", b"auth_mode", "revision", b"revision"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_auth_mode", b"_auth_mode"]) -> typing.Literal["auth_mode"] | None: ...

global___SetAliasRequest = SetAliasRequest

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

    ALIAS_INFO_FIELD_NUMBER: builtins.int
    @property
    def alias_info(self) -> global___AliasInfo:
        """Empty. For future use."""

    def __init__(
        self,
        *,
        alias_info: global___AliasInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["alias_info", b"alias_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["alias_info", b"alias_info"]) -> None: ...

global___SetAliasResult = SetAliasResult

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

    ALIAS_FIELD_NUMBER: builtins.int
    alias: builtins.str
    def __init__(
        self,
        *,
        alias: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["alias", b"alias"]) -> None: ...

global___DeleteAliasRequest = DeleteAliasRequest

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

    REVISION_FIELD_NUMBER: builtins.int
    revision: builtins.str
    def __init__(
        self,
        *,
        revision: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["revision", b"revision"]) -> None: ...

global___DeleteAliasResult = DeleteAliasResult

@typing.final
class ListAliasesRequest(google.protobuf.message.Message):
    """Empty. For future use."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___ListAliasesRequest = ListAliasesRequest

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

    ALIASES_FIELD_NUMBER: builtins.int
    @property
    def aliases(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AliasInfo]: ...
    def __init__(
        self,
        *,
        aliases: collections.abc.Iterable[global___AliasInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["aliases", b"aliases"]) -> None: ...

global___ListAliasesResult = ListAliasesResult

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

    ALIAS_FIELD_NUMBER: builtins.int
    REVISION_FIELD_NUMBER: builtins.int
    AUTH_MODE_FIELD_NUMBER: builtins.int
    MAX_CONCURRENCY_FIELD_NUMBER: builtins.int
    MAX_MULTIPLEXING_FIELD_NUMBER: builtins.int
    KEEP_ALIVE_FIELD_NUMBER: builtins.int
    ACTIVE_RUNNERS_FIELD_NUMBER: builtins.int
    MIN_CONCURRENCY_FIELD_NUMBER: builtins.int
    MACHINE_TYPES_FIELD_NUMBER: builtins.int
    REQUEST_TIMEOUT_FIELD_NUMBER: builtins.int
    STARTUP_TIMEOUT_FIELD_NUMBER: builtins.int
    VALID_REGIONS_FIELD_NUMBER: builtins.int
    CONCURRENCY_BUFFER_FIELD_NUMBER: builtins.int
    CONCURRENCY_BUFFER_PERC_FIELD_NUMBER: builtins.int
    SCALING_DELAY_SECONDS_FIELD_NUMBER: builtins.int
    alias: builtins.str
    revision: builtins.str
    auth_mode: global___ApplicationAuthMode.ValueType
    max_concurrency: builtins.int
    max_multiplexing: builtins.int
    keep_alive: builtins.int
    active_runners: builtins.int
    min_concurrency: builtins.int
    request_timeout: builtins.int
    startup_timeout: builtins.int
    concurrency_buffer: builtins.int
    concurrency_buffer_perc: builtins.int
    scaling_delay_seconds: builtins.int
    @property
    def machine_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def valid_regions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        alias: builtins.str = ...,
        revision: builtins.str = ...,
        auth_mode: global___ApplicationAuthMode.ValueType = ...,
        max_concurrency: builtins.int = ...,
        max_multiplexing: builtins.int = ...,
        keep_alive: builtins.int = ...,
        active_runners: builtins.int = ...,
        min_concurrency: builtins.int = ...,
        machine_types: collections.abc.Iterable[builtins.str] | None = ...,
        request_timeout: builtins.int | None = ...,
        startup_timeout: builtins.int | None = ...,
        valid_regions: collections.abc.Iterable[builtins.str] | None = ...,
        concurrency_buffer: builtins.int | None = ...,
        concurrency_buffer_perc: builtins.int | None = ...,
        scaling_delay_seconds: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_startup_timeout", b"_startup_timeout", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "request_timeout", b"request_timeout", "scaling_delay_seconds", b"scaling_delay_seconds", "startup_timeout", b"startup_timeout"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_concurrency_buffer", b"_concurrency_buffer", "_concurrency_buffer_perc", b"_concurrency_buffer_perc", "_request_timeout", b"_request_timeout", "_scaling_delay_seconds", b"_scaling_delay_seconds", "_startup_timeout", b"_startup_timeout", "active_runners", b"active_runners", "alias", b"alias", "auth_mode", b"auth_mode", "concurrency_buffer", b"concurrency_buffer", "concurrency_buffer_perc", b"concurrency_buffer_perc", "keep_alive", b"keep_alive", "machine_types", b"machine_types", "max_concurrency", b"max_concurrency", "max_multiplexing", b"max_multiplexing", "min_concurrency", b"min_concurrency", "request_timeout", b"request_timeout", "revision", b"revision", "scaling_delay_seconds", b"scaling_delay_seconds", "startup_timeout", b"startup_timeout", "valid_regions", b"valid_regions"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_concurrency_buffer", b"_concurrency_buffer"]) -> typing.Literal["concurrency_buffer"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_concurrency_buffer_perc", b"_concurrency_buffer_perc"]) -> typing.Literal["concurrency_buffer_perc"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_request_timeout", b"_request_timeout"]) -> typing.Literal["request_timeout"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_scaling_delay_seconds", b"_scaling_delay_seconds"]) -> typing.Literal["scaling_delay_seconds"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_startup_timeout", b"_startup_timeout"]) -> typing.Literal["startup_timeout"] | None: ...

global___AliasInfo = AliasInfo

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

    NAME_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    name: builtins.str
    value: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        value: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_value", b"_value", "value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_value", b"_value", "name", b"name", "value", b"value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_value", b"_value"]) -> typing.Literal["value"] | None: ...

global___SetSecretRequest = SetSecretRequest

@typing.final
class SetSecretResponse(google.protobuf.message.Message):
    """Empty. For future use."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___SetSecretResponse = SetSecretResponse

@typing.final
class ListSecretsRequest(google.protobuf.message.Message):
    """Empty. For future use."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___ListSecretsRequest = ListSecretsRequest

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

    NAME_FIELD_NUMBER: builtins.int
    CREATED_TIME_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def created_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Could also include the value/scope of the secret in the future."""

    def __init__(
        self,
        *,
        name: builtins.str = ...,
        created_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_created_time", b"_created_time", "created_time", b"created_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_created_time", b"_created_time", "created_time", b"created_time", "name", b"name"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_created_time", b"_created_time"]) -> typing.Literal["created_time"] | None: ...

global___Secret = Secret

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

    SECRETS_FIELD_NUMBER: builtins.int
    @property
    def secrets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Secret]: ...
    def __init__(
        self,
        *,
        secrets: collections.abc.Iterable[global___Secret] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["secrets", b"secrets"]) -> None: ...

global___ListSecretsResponse = ListSecretsResponse

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

    ALIAS_FIELD_NUMBER: builtins.int
    LIST_PENDING_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    alias: builtins.str
    list_pending: builtins.bool
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        alias: builtins.str = ...,
        list_pending: builtins.bool | None = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_list_pending", b"_list_pending", "_start_time", b"_start_time", "list_pending", b"list_pending", "start_time", b"start_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_list_pending", b"_list_pending", "_start_time", b"_start_time", "alias", b"alias", "list_pending", b"list_pending", "start_time", b"start_time"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_list_pending", b"_list_pending"]) -> typing.Literal["list_pending"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_start_time", b"_start_time"]) -> typing.Literal["start_time"] | None: ...

global___ListAliasRunnersRequest = ListAliasRunnersRequest

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

    RUNNERS_FIELD_NUMBER: builtins.int
    @property
    def runners(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RunnerInfo]: ...
    def __init__(
        self,
        *,
        runners: collections.abc.Iterable[global___RunnerInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["runners", b"runners"]) -> None: ...

global___ListAliasRunnersResponse = ListAliasRunnersResponse

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

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

    class _StateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RunnerInfo._State.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        RUNNING: RunnerInfo._State.ValueType  # 0
        PENDING: RunnerInfo._State.ValueType  # 1
        SETUP: RunnerInfo._State.ValueType  # 2
        DEAD: RunnerInfo._State.ValueType  # 3
        """TERMINATED"""
        DOCKER_PULL: RunnerInfo._State.ValueType  # 4
        DRAINING: RunnerInfo._State.ValueType  # 5
        STOPPING: RunnerInfo._State.ValueType  # 6
        STOPPED: RunnerInfo._State.ValueType  # 7

    class State(_State, metaclass=_StateEnumTypeWrapper): ...
    RUNNING: RunnerInfo.State.ValueType  # 0
    PENDING: RunnerInfo.State.ValueType  # 1
    SETUP: RunnerInfo.State.ValueType  # 2
    DEAD: RunnerInfo.State.ValueType  # 3
    """TERMINATED"""
    DOCKER_PULL: RunnerInfo.State.ValueType  # 4
    DRAINING: RunnerInfo.State.ValueType  # 5
    STOPPING: RunnerInfo.State.ValueType  # 6
    STOPPED: RunnerInfo.State.ValueType  # 7

    RUNNER_ID_FIELD_NUMBER: builtins.int
    IN_FLIGHT_REQUESTS_FIELD_NUMBER: builtins.int
    EXPIRATION_COUNTDOWN_FIELD_NUMBER: builtins.int
    UPTIME_FIELD_NUMBER: builtins.int
    REVISION_FIELD_NUMBER: builtins.int
    ALIAS_FIELD_NUMBER: builtins.int
    EXTERNAL_METADATA_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    runner_id: builtins.str
    in_flight_requests: builtins.int
    expiration_countdown: builtins.int
    uptime: builtins.float
    revision: builtins.str
    alias: builtins.str
    state: global___RunnerInfo.State.ValueType
    @property
    def external_metadata(self) -> google.protobuf.struct_pb2.Struct: ...
    def __init__(
        self,
        *,
        runner_id: builtins.str = ...,
        in_flight_requests: builtins.int = ...,
        expiration_countdown: builtins.int | None = ...,
        uptime: builtins.float = ...,
        revision: builtins.str = ...,
        alias: builtins.str = ...,
        external_metadata: google.protobuf.struct_pb2.Struct | None = ...,
        state: global___RunnerInfo.State.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_expiration_countdown", b"_expiration_countdown", "_external_metadata", b"_external_metadata", "_state", b"_state", "expiration_countdown", b"expiration_countdown", "external_metadata", b"external_metadata", "state", b"state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_expiration_countdown", b"_expiration_countdown", "_external_metadata", b"_external_metadata", "_state", b"_state", "alias", b"alias", "expiration_countdown", b"expiration_countdown", "external_metadata", b"external_metadata", "in_flight_requests", b"in_flight_requests", "revision", b"revision", "runner_id", b"runner_id", "state", b"state", "uptime", b"uptime"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_expiration_countdown", b"_expiration_countdown"]) -> typing.Literal["expiration_countdown"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_external_metadata", b"_external_metadata"]) -> typing.Literal["external_metadata"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_state", b"_state"]) -> typing.Literal["state"] | None: ...

global___RunnerInfo = RunnerInfo

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

    RUNNER_ID_FIELD_NUMBER: builtins.int
    runner_id: builtins.str
    def __init__(
        self,
        *,
        runner_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["runner_id", b"runner_id"]) -> None: ...

global___StopRunnerRequest = StopRunnerRequest

@typing.final
class StopRunnerResponse(google.protobuf.message.Message):
    """Empty. For future use."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___StopRunnerResponse = StopRunnerResponse

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

    RUNNER_ID_FIELD_NUMBER: builtins.int
    runner_id: builtins.str
    def __init__(
        self,
        *,
        runner_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["runner_id", b"runner_id"]) -> None: ...

global___KillRunnerRequest = KillRunnerRequest

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

    LIST_PENDING_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    list_pending: builtins.bool
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        list_pending: builtins.bool | None = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_list_pending", b"_list_pending", "_start_time", b"_start_time", "list_pending", b"list_pending", "start_time", b"start_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_list_pending", b"_list_pending", "_start_time", b"_start_time", "list_pending", b"list_pending", "start_time", b"start_time"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_list_pending", b"_list_pending"]) -> typing.Literal["list_pending"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_start_time", b"_start_time"]) -> typing.Literal["start_time"] | None: ...

global___ListRunnersRequest = ListRunnersRequest

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

    RUNNERS_FIELD_NUMBER: builtins.int
    @property
    def runners(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RunnerInfo]: ...
    def __init__(
        self,
        *,
        runners: collections.abc.Iterable[global___RunnerInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["runners", b"runners"]) -> None: ...

global___ListRunnersResponse = ListRunnersResponse

@typing.final
class KillRunnerResponse(google.protobuf.message.Message):
    """Empty. For future use."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___KillRunnerResponse = KillRunnerResponse

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

    HEIGHT_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    height: builtins.int
    width: builtins.int
    def __init__(
        self,
        *,
        height: builtins.int = ...,
        width: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["height", b"height", "width", b"width"]) -> None: ...

global___TerminalSize = TerminalSize

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

    RUNNER_ID_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    CLOSE_FIELD_NUMBER: builtins.int
    TTY_SIZE_FIELD_NUMBER: builtins.int
    runner_id: builtins.str
    data: builtins.bytes
    close: builtins.bool
    @property
    def tty_size(self) -> global___TerminalSize: ...
    def __init__(
        self,
        *,
        runner_id: builtins.str = ...,
        data: builtins.bytes = ...,
        close: builtins.bool = ...,
        tty_size: global___TerminalSize | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_tty_size", b"_tty_size", "tty_size", b"tty_size"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_tty_size", b"_tty_size", "close", b"close", "data", b"data", "runner_id", b"runner_id", "tty_size", b"tty_size"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_tty_size", b"_tty_size"]) -> typing.Literal["tty_size"] | None: ...

global___ShellRunnerInput = ShellRunnerInput

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

    DATA_FIELD_NUMBER: builtins.int
    CLOSE_FIELD_NUMBER: builtins.int
    EXIT_CODE_FIELD_NUMBER: builtins.int
    data: builtins.bytes
    close: builtins.bool
    exit_code: builtins.int
    def __init__(
        self,
        *,
        data: builtins.bytes = ...,
        close: builtins.bool = ...,
        exit_code: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_exit_code", b"_exit_code", "exit_code", b"exit_code"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_exit_code", b"_exit_code", "close", b"close", "data", b"data", "exit_code", b"exit_code"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_exit_code", b"_exit_code"]) -> typing.Literal["exit_code"] | None: ...

global___ShellRunnerOutput = ShellRunnerOutput
