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

import builtins
import collections.abc
import sys

import google.protobuf.descriptor
import google.protobuf.duration_pb2
import google.protobuf.field_mask_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2

import temporalio.api.activity.v1.message_pb2
import temporalio.api.batch.v1.message_pb2
import temporalio.api.command.v1.message_pb2
import temporalio.api.common.v1.message_pb2
import temporalio.api.deployment.v1.message_pb2
import temporalio.api.enums.v1.batch_operation_pb2
import temporalio.api.enums.v1.common_pb2
import temporalio.api.enums.v1.deployment_pb2
import temporalio.api.enums.v1.failed_cause_pb2
import temporalio.api.enums.v1.namespace_pb2
import temporalio.api.enums.v1.query_pb2
import temporalio.api.enums.v1.reset_pb2
import temporalio.api.enums.v1.task_queue_pb2
import temporalio.api.enums.v1.update_pb2
import temporalio.api.enums.v1.workflow_pb2
import temporalio.api.failure.v1.message_pb2
import temporalio.api.filter.v1.message_pb2
import temporalio.api.history.v1.message_pb2
import temporalio.api.namespace.v1.message_pb2
import temporalio.api.nexus.v1.message_pb2
import temporalio.api.protocol.v1.message_pb2
import temporalio.api.query.v1.message_pb2
import temporalio.api.replication.v1.message_pb2
import temporalio.api.rules.v1.message_pb2
import temporalio.api.schedule.v1.message_pb2
import temporalio.api.sdk.v1.task_complete_metadata_pb2
import temporalio.api.sdk.v1.user_metadata_pb2
import temporalio.api.sdk.v1.worker_config_pb2
import temporalio.api.taskqueue.v1.message_pb2
import temporalio.api.update.v1.message_pb2
import temporalio.api.version.v1.message_pb2
import temporalio.api.worker.v1.message_pb2
import temporalio.api.workflow.v1.message_pb2

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class RegisterNamespaceRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class DataEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal["key", b"key", "value", b"value"],
        ) -> None: ...

    NAMESPACE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    OWNER_EMAIL_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_RETENTION_PERIOD_FIELD_NUMBER: builtins.int
    CLUSTERS_FIELD_NUMBER: builtins.int
    ACTIVE_CLUSTER_NAME_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    SECURITY_TOKEN_FIELD_NUMBER: builtins.int
    IS_GLOBAL_NAMESPACE_FIELD_NUMBER: builtins.int
    HISTORY_ARCHIVAL_STATE_FIELD_NUMBER: builtins.int
    HISTORY_ARCHIVAL_URI_FIELD_NUMBER: builtins.int
    VISIBILITY_ARCHIVAL_STATE_FIELD_NUMBER: builtins.int
    VISIBILITY_ARCHIVAL_URI_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    description: builtins.str
    owner_email: builtins.str
    @property
    def workflow_execution_retention_period(
        self,
    ) -> google.protobuf.duration_pb2.Duration: ...
    @property
    def clusters(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.replication.v1.message_pb2.ClusterReplicationConfig
    ]: ...
    active_cluster_name: builtins.str
    @property
    def data(
        self,
    ) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """A key-value map for any customized purpose."""
    security_token: builtins.str
    is_global_namespace: builtins.bool
    history_archival_state: (
        temporalio.api.enums.v1.namespace_pb2.ArchivalState.ValueType
    )
    """If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used."""
    history_archival_uri: builtins.str
    visibility_archival_state: (
        temporalio.api.enums.v1.namespace_pb2.ArchivalState.ValueType
    )
    """If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used."""
    visibility_archival_uri: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        description: builtins.str = ...,
        owner_email: builtins.str = ...,
        workflow_execution_retention_period: google.protobuf.duration_pb2.Duration
        | None = ...,
        clusters: collections.abc.Iterable[
            temporalio.api.replication.v1.message_pb2.ClusterReplicationConfig
        ]
        | None = ...,
        active_cluster_name: builtins.str = ...,
        data: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        security_token: builtins.str = ...,
        is_global_namespace: builtins.bool = ...,
        history_archival_state: temporalio.api.enums.v1.namespace_pb2.ArchivalState.ValueType = ...,
        history_archival_uri: builtins.str = ...,
        visibility_archival_state: temporalio.api.enums.v1.namespace_pb2.ArchivalState.ValueType = ...,
        visibility_archival_uri: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "workflow_execution_retention_period",
            b"workflow_execution_retention_period",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "active_cluster_name",
            b"active_cluster_name",
            "clusters",
            b"clusters",
            "data",
            b"data",
            "description",
            b"description",
            "history_archival_state",
            b"history_archival_state",
            "history_archival_uri",
            b"history_archival_uri",
            "is_global_namespace",
            b"is_global_namespace",
            "namespace",
            b"namespace",
            "owner_email",
            b"owner_email",
            "security_token",
            b"security_token",
            "visibility_archival_state",
            b"visibility_archival_state",
            "visibility_archival_uri",
            b"visibility_archival_uri",
            "workflow_execution_retention_period",
            b"workflow_execution_retention_period",
        ],
    ) -> None: ...

global___RegisterNamespaceRequest = RegisterNamespaceRequest

class RegisterNamespaceResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RegisterNamespaceResponse = RegisterNamespaceResponse

class ListNamespacesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    NAMESPACE_FILTER_FIELD_NUMBER: builtins.int
    page_size: builtins.int
    next_page_token: builtins.bytes
    @property
    def namespace_filter(
        self,
    ) -> temporalio.api.namespace.v1.message_pb2.NamespaceFilter: ...
    def __init__(
        self,
        *,
        page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        namespace_filter: temporalio.api.namespace.v1.message_pb2.NamespaceFilter
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal["namespace_filter", b"namespace_filter"],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace_filter",
            b"namespace_filter",
            "next_page_token",
            b"next_page_token",
            "page_size",
            b"page_size",
        ],
    ) -> None: ...

global___ListNamespacesRequest = ListNamespacesRequest

class ListNamespacesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACES_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def namespaces(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___DescribeNamespaceResponse
    ]: ...
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        namespaces: collections.abc.Iterable[global___DescribeNamespaceResponse]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespaces", b"namespaces", "next_page_token", b"next_page_token"
        ],
    ) -> None: ...

global___ListNamespacesResponse = ListNamespacesResponse

class DescribeNamespaceRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    id: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal["id", b"id", "namespace", b"namespace"],
    ) -> None: ...

global___DescribeNamespaceRequest = DescribeNamespaceRequest

class DescribeNamespaceResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_INFO_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    REPLICATION_CONFIG_FIELD_NUMBER: builtins.int
    FAILOVER_VERSION_FIELD_NUMBER: builtins.int
    IS_GLOBAL_NAMESPACE_FIELD_NUMBER: builtins.int
    FAILOVER_HISTORY_FIELD_NUMBER: builtins.int
    @property
    def namespace_info(
        self,
    ) -> temporalio.api.namespace.v1.message_pb2.NamespaceInfo: ...
    @property
    def config(self) -> temporalio.api.namespace.v1.message_pb2.NamespaceConfig: ...
    @property
    def replication_config(
        self,
    ) -> temporalio.api.replication.v1.message_pb2.NamespaceReplicationConfig: ...
    failover_version: builtins.int
    is_global_namespace: builtins.bool
    @property
    def failover_history(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.replication.v1.message_pb2.FailoverStatus
    ]:
        """Contains the historical state of failover_versions for the cluster, truncated to contain only the last N
        states to ensure that the list does not grow unbounded.
        """
    def __init__(
        self,
        *,
        namespace_info: temporalio.api.namespace.v1.message_pb2.NamespaceInfo
        | None = ...,
        config: temporalio.api.namespace.v1.message_pb2.NamespaceConfig | None = ...,
        replication_config: temporalio.api.replication.v1.message_pb2.NamespaceReplicationConfig
        | None = ...,
        failover_version: builtins.int = ...,
        is_global_namespace: builtins.bool = ...,
        failover_history: collections.abc.Iterable[
            temporalio.api.replication.v1.message_pb2.FailoverStatus
        ]
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "config",
            b"config",
            "namespace_info",
            b"namespace_info",
            "replication_config",
            b"replication_config",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "config",
            b"config",
            "failover_history",
            b"failover_history",
            "failover_version",
            b"failover_version",
            "is_global_namespace",
            b"is_global_namespace",
            "namespace_info",
            b"namespace_info",
            "replication_config",
            b"replication_config",
        ],
    ) -> None: ...

global___DescribeNamespaceResponse = DescribeNamespaceResponse

class UpdateNamespaceRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    UPDATE_INFO_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    REPLICATION_CONFIG_FIELD_NUMBER: builtins.int
    SECURITY_TOKEN_FIELD_NUMBER: builtins.int
    DELETE_BAD_BINARY_FIELD_NUMBER: builtins.int
    PROMOTE_NAMESPACE_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def update_info(
        self,
    ) -> temporalio.api.namespace.v1.message_pb2.UpdateNamespaceInfo: ...
    @property
    def config(self) -> temporalio.api.namespace.v1.message_pb2.NamespaceConfig: ...
    @property
    def replication_config(
        self,
    ) -> temporalio.api.replication.v1.message_pb2.NamespaceReplicationConfig: ...
    security_token: builtins.str
    delete_bad_binary: builtins.str
    promote_namespace: builtins.bool
    """promote local namespace to global namespace. Ignored if namespace is already global namespace."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        update_info: temporalio.api.namespace.v1.message_pb2.UpdateNamespaceInfo
        | None = ...,
        config: temporalio.api.namespace.v1.message_pb2.NamespaceConfig | None = ...,
        replication_config: temporalio.api.replication.v1.message_pb2.NamespaceReplicationConfig
        | None = ...,
        security_token: builtins.str = ...,
        delete_bad_binary: builtins.str = ...,
        promote_namespace: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "config",
            b"config",
            "replication_config",
            b"replication_config",
            "update_info",
            b"update_info",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "config",
            b"config",
            "delete_bad_binary",
            b"delete_bad_binary",
            "namespace",
            b"namespace",
            "promote_namespace",
            b"promote_namespace",
            "replication_config",
            b"replication_config",
            "security_token",
            b"security_token",
            "update_info",
            b"update_info",
        ],
    ) -> None: ...

global___UpdateNamespaceRequest = UpdateNamespaceRequest

class UpdateNamespaceResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_INFO_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    REPLICATION_CONFIG_FIELD_NUMBER: builtins.int
    FAILOVER_VERSION_FIELD_NUMBER: builtins.int
    IS_GLOBAL_NAMESPACE_FIELD_NUMBER: builtins.int
    @property
    def namespace_info(
        self,
    ) -> temporalio.api.namespace.v1.message_pb2.NamespaceInfo: ...
    @property
    def config(self) -> temporalio.api.namespace.v1.message_pb2.NamespaceConfig: ...
    @property
    def replication_config(
        self,
    ) -> temporalio.api.replication.v1.message_pb2.NamespaceReplicationConfig: ...
    failover_version: builtins.int
    is_global_namespace: builtins.bool
    def __init__(
        self,
        *,
        namespace_info: temporalio.api.namespace.v1.message_pb2.NamespaceInfo
        | None = ...,
        config: temporalio.api.namespace.v1.message_pb2.NamespaceConfig | None = ...,
        replication_config: temporalio.api.replication.v1.message_pb2.NamespaceReplicationConfig
        | None = ...,
        failover_version: builtins.int = ...,
        is_global_namespace: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "config",
            b"config",
            "namespace_info",
            b"namespace_info",
            "replication_config",
            b"replication_config",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "config",
            b"config",
            "failover_version",
            b"failover_version",
            "is_global_namespace",
            b"is_global_namespace",
            "namespace_info",
            b"namespace_info",
            "replication_config",
            b"replication_config",
        ],
    ) -> None: ...

global___UpdateNamespaceResponse = UpdateNamespaceResponse

class DeprecateNamespaceRequest(google.protobuf.message.Message):
    """Deprecated."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    SECURITY_TOKEN_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    security_token: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        security_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "security_token", b"security_token"
        ],
    ) -> None: ...

global___DeprecateNamespaceRequest = DeprecateNamespaceRequest

class DeprecateNamespaceResponse(google.protobuf.message.Message):
    """Deprecated."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___DeprecateNamespaceResponse = DeprecateNamespaceResponse

class StartWorkflowExecutionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_FIELD_NUMBER: builtins.int
    WORKFLOW_TYPE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_TIMEOUT_FIELD_NUMBER: builtins.int
    WORKFLOW_RUN_TIMEOUT_FIELD_NUMBER: builtins.int
    WORKFLOW_TASK_TIMEOUT_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_REUSE_POLICY_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER: builtins.int
    RETRY_POLICY_FIELD_NUMBER: builtins.int
    CRON_SCHEDULE_FIELD_NUMBER: builtins.int
    MEMO_FIELD_NUMBER: builtins.int
    SEARCH_ATTRIBUTES_FIELD_NUMBER: builtins.int
    HEADER_FIELD_NUMBER: builtins.int
    REQUEST_EAGER_EXECUTION_FIELD_NUMBER: builtins.int
    CONTINUED_FAILURE_FIELD_NUMBER: builtins.int
    LAST_COMPLETION_RESULT_FIELD_NUMBER: builtins.int
    WORKFLOW_START_DELAY_FIELD_NUMBER: builtins.int
    COMPLETION_CALLBACKS_FIELD_NUMBER: builtins.int
    USER_METADATA_FIELD_NUMBER: builtins.int
    LINKS_FIELD_NUMBER: builtins.int
    VERSIONING_OVERRIDE_FIELD_NUMBER: builtins.int
    ON_CONFLICT_OPTIONS_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    EAGER_WORKER_DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    workflow_id: builtins.str
    @property
    def workflow_type(self) -> temporalio.api.common.v1.message_pb2.WorkflowType: ...
    @property
    def task_queue(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueue: ...
    @property
    def input(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Serialized arguments to the workflow. These are passed as arguments to the workflow function."""
    @property
    def workflow_execution_timeout(self) -> google.protobuf.duration_pb2.Duration:
        """Total workflow execution timeout including retries and continue as new."""
    @property
    def workflow_run_timeout(self) -> google.protobuf.duration_pb2.Duration:
        """Timeout of a single workflow run."""
    @property
    def workflow_task_timeout(self) -> google.protobuf.duration_pb2.Duration:
        """Timeout of a single workflow task."""
    identity: builtins.str
    """The identity of the client who initiated this request"""
    request_id: builtins.str
    """A unique identifier for this start request. Typically UUIDv4."""
    workflow_id_reuse_policy: (
        temporalio.api.enums.v1.workflow_pb2.WorkflowIdReusePolicy.ValueType
    )
    """Defines whether to allow re-using the workflow id from a previously *closed* workflow.
    The default policy is WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

    See `workflow_id_conflict_policy` for handling a workflow id duplication with a *running* workflow.
    """
    workflow_id_conflict_policy: (
        temporalio.api.enums.v1.workflow_pb2.WorkflowIdConflictPolicy.ValueType
    )
    """Defines how to resolve a workflow id conflict with a *running* workflow.
    The default policy is WORKFLOW_ID_CONFLICT_POLICY_FAIL.

    See `workflow_id_reuse_policy` for handling a workflow id duplication with a *closed* workflow.
    """
    @property
    def retry_policy(self) -> temporalio.api.common.v1.message_pb2.RetryPolicy:
        """The retry policy for the workflow. Will never exceed `workflow_execution_timeout`."""
    cron_schedule: builtins.str
    """See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/"""
    @property
    def memo(self) -> temporalio.api.common.v1.message_pb2.Memo: ...
    @property
    def search_attributes(
        self,
    ) -> temporalio.api.common.v1.message_pb2.SearchAttributes: ...
    @property
    def header(self) -> temporalio.api.common.v1.message_pb2.Header: ...
    request_eager_execution: builtins.bool
    """Request to get the first workflow task inline in the response bypassing matching service and worker polling.
    If set to `true` the caller is expected to have a worker available and capable of processing the task.
    The returned task will be marked as started and is expected to be completed by the specified
    `workflow_task_timeout`.
    """
    @property
    def continued_failure(self) -> temporalio.api.failure.v1.message_pb2.Failure:
        """These values will be available as ContinuedFailure and LastCompletionResult in the
        WorkflowExecutionStarted event and through SDKs. The are currently only used by the
        server itself (for the schedules feature) and are not intended to be exposed in
        StartWorkflowExecution.
        """
    @property
    def last_completion_result(
        self,
    ) -> temporalio.api.common.v1.message_pb2.Payloads: ...
    @property
    def workflow_start_delay(self) -> google.protobuf.duration_pb2.Duration:
        """Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
        If the workflow gets a signal before the delay, a workflow task will be dispatched and the rest
        of the delay will be ignored.
        """
    @property
    def completion_callbacks(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.common.v1.message_pb2.Callback
    ]:
        """Callbacks to be called by the server when this workflow reaches a terminal state.
        If the workflow continues-as-new, these callbacks will be carried over to the new execution.
        Callback addresses must be whitelisted in the server's dynamic configuration.
        """
    @property
    def user_metadata(self) -> temporalio.api.sdk.v1.user_metadata_pb2.UserMetadata:
        """Metadata on the workflow if it is started. This is carried over to the WorkflowExecutionInfo
        for use by user interfaces to display the fixed as-of-start summary and details of the
        workflow.
        """
    @property
    def links(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.common.v1.message_pb2.Link
    ]:
        """Links to be associated with the workflow."""
    @property
    def versioning_override(
        self,
    ) -> temporalio.api.workflow.v1.message_pb2.VersioningOverride:
        """If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion.
        To unset the override after the workflow is running, use UpdateWorkflowExecutionOptions.
        """
    @property
    def on_conflict_options(
        self,
    ) -> temporalio.api.workflow.v1.message_pb2.OnConflictOptions:
        """Defines actions to be done to the existing running workflow when the conflict policy
        WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING is used. If not set (ie., nil value) or set to a
        empty object (ie., all options with default value), it won't do anything to the existing
        running workflow. If set, it will add a history event to the running workflow.
        """
    @property
    def priority(self) -> temporalio.api.common.v1.message_pb2.Priority:
        """Priority metadata"""
    @property
    def eager_worker_deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Deployment Options of the worker who will process the eager task. Passed when `request_eager_execution=true`."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_id: builtins.str = ...,
        workflow_type: temporalio.api.common.v1.message_pb2.WorkflowType | None = ...,
        task_queue: temporalio.api.taskqueue.v1.message_pb2.TaskQueue | None = ...,
        input: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        workflow_execution_timeout: google.protobuf.duration_pb2.Duration | None = ...,
        workflow_run_timeout: google.protobuf.duration_pb2.Duration | None = ...,
        workflow_task_timeout: google.protobuf.duration_pb2.Duration | None = ...,
        identity: builtins.str = ...,
        request_id: builtins.str = ...,
        workflow_id_reuse_policy: temporalio.api.enums.v1.workflow_pb2.WorkflowIdReusePolicy.ValueType = ...,
        workflow_id_conflict_policy: temporalio.api.enums.v1.workflow_pb2.WorkflowIdConflictPolicy.ValueType = ...,
        retry_policy: temporalio.api.common.v1.message_pb2.RetryPolicy | None = ...,
        cron_schedule: builtins.str = ...,
        memo: temporalio.api.common.v1.message_pb2.Memo | None = ...,
        search_attributes: temporalio.api.common.v1.message_pb2.SearchAttributes
        | None = ...,
        header: temporalio.api.common.v1.message_pb2.Header | None = ...,
        request_eager_execution: builtins.bool = ...,
        continued_failure: temporalio.api.failure.v1.message_pb2.Failure | None = ...,
        last_completion_result: temporalio.api.common.v1.message_pb2.Payloads
        | None = ...,
        workflow_start_delay: google.protobuf.duration_pb2.Duration | None = ...,
        completion_callbacks: collections.abc.Iterable[
            temporalio.api.common.v1.message_pb2.Callback
        ]
        | None = ...,
        user_metadata: temporalio.api.sdk.v1.user_metadata_pb2.UserMetadata
        | None = ...,
        links: collections.abc.Iterable[temporalio.api.common.v1.message_pb2.Link]
        | None = ...,
        versioning_override: temporalio.api.workflow.v1.message_pb2.VersioningOverride
        | None = ...,
        on_conflict_options: temporalio.api.workflow.v1.message_pb2.OnConflictOptions
        | None = ...,
        priority: temporalio.api.common.v1.message_pb2.Priority | None = ...,
        eager_worker_deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "continued_failure",
            b"continued_failure",
            "eager_worker_deployment_options",
            b"eager_worker_deployment_options",
            "header",
            b"header",
            "input",
            b"input",
            "last_completion_result",
            b"last_completion_result",
            "memo",
            b"memo",
            "on_conflict_options",
            b"on_conflict_options",
            "priority",
            b"priority",
            "retry_policy",
            b"retry_policy",
            "search_attributes",
            b"search_attributes",
            "task_queue",
            b"task_queue",
            "user_metadata",
            b"user_metadata",
            "versioning_override",
            b"versioning_override",
            "workflow_execution_timeout",
            b"workflow_execution_timeout",
            "workflow_run_timeout",
            b"workflow_run_timeout",
            "workflow_start_delay",
            b"workflow_start_delay",
            "workflow_task_timeout",
            b"workflow_task_timeout",
            "workflow_type",
            b"workflow_type",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "completion_callbacks",
            b"completion_callbacks",
            "continued_failure",
            b"continued_failure",
            "cron_schedule",
            b"cron_schedule",
            "eager_worker_deployment_options",
            b"eager_worker_deployment_options",
            "header",
            b"header",
            "identity",
            b"identity",
            "input",
            b"input",
            "last_completion_result",
            b"last_completion_result",
            "links",
            b"links",
            "memo",
            b"memo",
            "namespace",
            b"namespace",
            "on_conflict_options",
            b"on_conflict_options",
            "priority",
            b"priority",
            "request_eager_execution",
            b"request_eager_execution",
            "request_id",
            b"request_id",
            "retry_policy",
            b"retry_policy",
            "search_attributes",
            b"search_attributes",
            "task_queue",
            b"task_queue",
            "user_metadata",
            b"user_metadata",
            "versioning_override",
            b"versioning_override",
            "workflow_execution_timeout",
            b"workflow_execution_timeout",
            "workflow_id",
            b"workflow_id",
            "workflow_id_conflict_policy",
            b"workflow_id_conflict_policy",
            "workflow_id_reuse_policy",
            b"workflow_id_reuse_policy",
            "workflow_run_timeout",
            b"workflow_run_timeout",
            "workflow_start_delay",
            b"workflow_start_delay",
            "workflow_task_timeout",
            b"workflow_task_timeout",
            "workflow_type",
            b"workflow_type",
        ],
    ) -> None: ...

global___StartWorkflowExecutionRequest = StartWorkflowExecutionRequest

class StartWorkflowExecutionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RUN_ID_FIELD_NUMBER: builtins.int
    STARTED_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    EAGER_WORKFLOW_TASK_FIELD_NUMBER: builtins.int
    LINK_FIELD_NUMBER: builtins.int
    run_id: builtins.str
    """The run id of the workflow that was started - or used (via WorkflowIdConflictPolicy USE_EXISTING)."""
    started: builtins.bool
    """If true, a new workflow was started."""
    status: temporalio.api.enums.v1.workflow_pb2.WorkflowExecutionStatus.ValueType
    """Current execution status of the workflow. Typically remains WORKFLOW_EXECUTION_STATUS_RUNNING
    unless a de-dupe occurs or in specific scenarios handled within the ExecuteMultiOperation (refer to its docs).
    """
    @property
    def eager_workflow_task(self) -> global___PollWorkflowTaskQueueResponse:
        """When `request_eager_execution` is set on the `StartWorkflowExecutionRequest`, the server - if supported - will
        return the first workflow task to be eagerly executed.
        The caller is expected to have a worker available to process the task.
        """
    @property
    def link(self) -> temporalio.api.common.v1.message_pb2.Link:
        """Link to the workflow event."""
    def __init__(
        self,
        *,
        run_id: builtins.str = ...,
        started: builtins.bool = ...,
        status: temporalio.api.enums.v1.workflow_pb2.WorkflowExecutionStatus.ValueType = ...,
        eager_workflow_task: global___PollWorkflowTaskQueueResponse | None = ...,
        link: temporalio.api.common.v1.message_pb2.Link | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "eager_workflow_task", b"eager_workflow_task", "link", b"link"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "eager_workflow_task",
            b"eager_workflow_task",
            "link",
            b"link",
            "run_id",
            b"run_id",
            "started",
            b"started",
            "status",
            b"status",
        ],
    ) -> None: ...

global___StartWorkflowExecutionResponse = StartWorkflowExecutionResponse

class GetWorkflowExecutionHistoryRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    MAXIMUM_PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    WAIT_NEW_EVENT_FIELD_NUMBER: builtins.int
    HISTORY_EVENT_FILTER_TYPE_FIELD_NUMBER: builtins.int
    SKIP_ARCHIVAL_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
    maximum_page_size: builtins.int
    next_page_token: builtins.bytes
    """If a `GetWorkflowExecutionHistoryResponse` or a `PollWorkflowTaskQueueResponse` had one of
    these, it should be passed here to fetch the next page.
    """
    wait_new_event: builtins.bool
    """If set to true, the RPC call will not resolve until there is a new event which matches
    the `history_event_filter_type`, or a timeout is hit.
    """
    history_event_filter_type: (
        temporalio.api.enums.v1.workflow_pb2.HistoryEventFilterType.ValueType
    )
    """Filter returned events such that they match the specified filter type.
    Default: HISTORY_EVENT_FILTER_TYPE_ALL_EVENT.
    """
    skip_archival: builtins.bool
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
        maximum_page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        wait_new_event: builtins.bool = ...,
        history_event_filter_type: temporalio.api.enums.v1.workflow_pb2.HistoryEventFilterType.ValueType = ...,
        skip_archival: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["execution", b"execution"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "execution",
            b"execution",
            "history_event_filter_type",
            b"history_event_filter_type",
            "maximum_page_size",
            b"maximum_page_size",
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "skip_archival",
            b"skip_archival",
            "wait_new_event",
            b"wait_new_event",
        ],
    ) -> None: ...

global___GetWorkflowExecutionHistoryRequest = GetWorkflowExecutionHistoryRequest

class GetWorkflowExecutionHistoryResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HISTORY_FIELD_NUMBER: builtins.int
    RAW_HISTORY_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    ARCHIVED_FIELD_NUMBER: builtins.int
    @property
    def history(self) -> temporalio.api.history.v1.message_pb2.History: ...
    @property
    def raw_history(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.common.v1.message_pb2.DataBlob
    ]:
        """Raw history is an alternate representation of history that may be returned if configured on
        the frontend. This is not supported by all SDKs. Either this or `history` will be set.
        """
    next_page_token: builtins.bytes
    """Will be set if there are more history events than were included in this response"""
    archived: builtins.bool
    def __init__(
        self,
        *,
        history: temporalio.api.history.v1.message_pb2.History | None = ...,
        raw_history: collections.abc.Iterable[
            temporalio.api.common.v1.message_pb2.DataBlob
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
        archived: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["history", b"history"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "archived",
            b"archived",
            "history",
            b"history",
            "next_page_token",
            b"next_page_token",
            "raw_history",
            b"raw_history",
        ],
    ) -> None: ...

global___GetWorkflowExecutionHistoryResponse = GetWorkflowExecutionHistoryResponse

class GetWorkflowExecutionHistoryReverseRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    MAXIMUM_PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
    maximum_page_size: builtins.int
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
        maximum_page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["execution", b"execution"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "execution",
            b"execution",
            "maximum_page_size",
            b"maximum_page_size",
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
        ],
    ) -> None: ...

global___GetWorkflowExecutionHistoryReverseRequest = (
    GetWorkflowExecutionHistoryReverseRequest
)

class GetWorkflowExecutionHistoryReverseResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HISTORY_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def history(self) -> temporalio.api.history.v1.message_pb2.History: ...
    next_page_token: builtins.bytes
    """Will be set if there are more history events than were included in this response"""
    def __init__(
        self,
        *,
        history: temporalio.api.history.v1.message_pb2.History | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["history", b"history"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "history", b"history", "next_page_token", b"next_page_token"
        ],
    ) -> None: ...

global___GetWorkflowExecutionHistoryReverseResponse = (
    GetWorkflowExecutionHistoryReverseResponse
)

class PollWorkflowTaskQueueRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    BINARY_CHECKSUM_FIELD_NUMBER: builtins.int
    WORKER_VERSION_CAPABILITIES_FIELD_NUMBER: builtins.int
    DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    WORKER_HEARTBEAT_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def task_queue(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueue: ...
    identity: builtins.str
    """The identity of the worker/client who is polling this task queue"""
    binary_checksum: builtins.str
    """Deprecated. Use deployment_options instead.
    Each worker process should provide an ID unique to the specific set of code it is running
    "checksum" in this field name isn't very accurate, it should be though of as an id.
    """
    @property
    def worker_version_capabilities(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkerVersionCapabilities:
        """Deprecated. Use deployment_options instead.
        Information about this worker's build identifier and if it is choosing to use the versioning
        feature. See the `WorkerVersionCapabilities` docstring for more.
        """
    @property
    def deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Worker deployment options that user has set in the worker.
        Experimental. Worker Deployments are experimental and might significantly change in the future.
        """
    @property
    def worker_heartbeat(self) -> temporalio.api.worker.v1.message_pb2.WorkerHeartbeat:
        """Worker info to be sent to the server."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        task_queue: temporalio.api.taskqueue.v1.message_pb2.TaskQueue | None = ...,
        identity: builtins.str = ...,
        binary_checksum: builtins.str = ...,
        worker_version_capabilities: temporalio.api.common.v1.message_pb2.WorkerVersionCapabilities
        | None = ...,
        deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
        worker_heartbeat: temporalio.api.worker.v1.message_pb2.WorkerHeartbeat
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_options",
            b"deployment_options",
            "task_queue",
            b"task_queue",
            "worker_heartbeat",
            b"worker_heartbeat",
            "worker_version_capabilities",
            b"worker_version_capabilities",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "binary_checksum",
            b"binary_checksum",
            "deployment_options",
            b"deployment_options",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "task_queue",
            b"task_queue",
            "worker_heartbeat",
            b"worker_heartbeat",
            "worker_version_capabilities",
            b"worker_version_capabilities",
        ],
    ) -> None: ...

global___PollWorkflowTaskQueueRequest = PollWorkflowTaskQueueRequest

class PollWorkflowTaskQueueResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class QueriesEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> temporalio.api.query.v1.message_pb2.WorkflowQuery: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: temporalio.api.query.v1.message_pb2.WorkflowQuery | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["value", b"value"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal["key", b"key", "value", b"value"],
        ) -> None: ...

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_FIELD_NUMBER: builtins.int
    WORKFLOW_TYPE_FIELD_NUMBER: builtins.int
    PREVIOUS_STARTED_EVENT_ID_FIELD_NUMBER: builtins.int
    STARTED_EVENT_ID_FIELD_NUMBER: builtins.int
    ATTEMPT_FIELD_NUMBER: builtins.int
    BACKLOG_COUNT_HINT_FIELD_NUMBER: builtins.int
    HISTORY_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    QUERY_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_TASK_QUEUE_FIELD_NUMBER: builtins.int
    SCHEDULED_TIME_FIELD_NUMBER: builtins.int
    STARTED_TIME_FIELD_NUMBER: builtins.int
    QUERIES_FIELD_NUMBER: builtins.int
    MESSAGES_FIELD_NUMBER: builtins.int
    POLLER_SCALING_DECISION_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    """A unique identifier for this task"""
    @property
    def workflow_execution(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
    @property
    def workflow_type(self) -> temporalio.api.common.v1.message_pb2.WorkflowType: ...
    previous_started_event_id: builtins.int
    """The last workflow task started event which was processed by some worker for this execution.
    Will be zero if no task has ever started.
    """
    started_event_id: builtins.int
    """The id of the most recent workflow task started event, which will have been generated as a
    result of this poll request being served. Will be zero if the task
    does not contain any events which would advance history (no new WFT started).
    Currently this can happen for queries.
    """
    attempt: builtins.int
    """Starting at 1, the number of attempts to complete this task by any worker."""
    backlog_count_hint: builtins.int
    """A hint that there are more tasks already present in this task queue
    partition. Can be used to prioritize draining a sticky queue.

    Specifically, the returned number is the number of tasks remaining in
    the in-memory buffer for this partition, which is currently capped at
    1000. Because sticky queues only have one partition, this number is
    more useful when draining them. Normal queues, typically having more than one
    partition, will return a number representing only some portion of the
    overall backlog. Subsequent RPCs may not hit the same partition as
    this call.
    """
    @property
    def history(self) -> temporalio.api.history.v1.message_pb2.History:
        """The history for this workflow, which will either be complete or partial. Partial histories
        are sent to workers who have signaled that they are using a sticky queue when completing
        a workflow task.
        """
    next_page_token: builtins.bytes
    """Will be set if there are more history events than were included in this response. Such events
    should be fetched via `GetWorkflowExecutionHistory`.
    """
    @property
    def query(self) -> temporalio.api.query.v1.message_pb2.WorkflowQuery:
        """Legacy queries appear in this field. The query must be responded to via
        `RespondQueryTaskCompleted`. If the workflow is already closed (queries are permitted on
        closed workflows) then the `history` field will be populated with the entire history. It
        may also be populated if this task originates on a non-sticky queue.
        """
    @property
    def workflow_execution_task_queue(
        self,
    ) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueue:
        """The task queue this task originated from, which will always be the original non-sticky name
        for the queue, even if this response came from polling a sticky queue.
        """
    @property
    def scheduled_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When this task was scheduled by the server"""
    @property
    def started_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When the current workflow task started event was generated, meaning the current attempt."""
    @property
    def queries(
        self,
    ) -> google.protobuf.internal.containers.MessageMap[
        builtins.str, temporalio.api.query.v1.message_pb2.WorkflowQuery
    ]:
        """Queries that should be executed after applying the history in this task. Responses should be
        attached to `RespondWorkflowTaskCompletedRequest::query_results`
        """
    @property
    def messages(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.protocol.v1.message_pb2.Message
    ]:
        """Protocol messages piggybacking on a WFT as a transport"""
    @property
    def poller_scaling_decision(
        self,
    ) -> temporalio.api.taskqueue.v1.message_pb2.PollerScalingDecision:
        """Server-advised information the SDK may use to adjust its poller count."""
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        workflow_execution: temporalio.api.common.v1.message_pb2.WorkflowExecution
        | None = ...,
        workflow_type: temporalio.api.common.v1.message_pb2.WorkflowType | None = ...,
        previous_started_event_id: builtins.int = ...,
        started_event_id: builtins.int = ...,
        attempt: builtins.int = ...,
        backlog_count_hint: builtins.int = ...,
        history: temporalio.api.history.v1.message_pb2.History | None = ...,
        next_page_token: builtins.bytes = ...,
        query: temporalio.api.query.v1.message_pb2.WorkflowQuery | None = ...,
        workflow_execution_task_queue: temporalio.api.taskqueue.v1.message_pb2.TaskQueue
        | None = ...,
        scheduled_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        started_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        queries: collections.abc.Mapping[
            builtins.str, temporalio.api.query.v1.message_pb2.WorkflowQuery
        ]
        | None = ...,
        messages: collections.abc.Iterable[
            temporalio.api.protocol.v1.message_pb2.Message
        ]
        | None = ...,
        poller_scaling_decision: temporalio.api.taskqueue.v1.message_pb2.PollerScalingDecision
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "history",
            b"history",
            "poller_scaling_decision",
            b"poller_scaling_decision",
            "query",
            b"query",
            "scheduled_time",
            b"scheduled_time",
            "started_time",
            b"started_time",
            "workflow_execution",
            b"workflow_execution",
            "workflow_execution_task_queue",
            b"workflow_execution_task_queue",
            "workflow_type",
            b"workflow_type",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "attempt",
            b"attempt",
            "backlog_count_hint",
            b"backlog_count_hint",
            "history",
            b"history",
            "messages",
            b"messages",
            "next_page_token",
            b"next_page_token",
            "poller_scaling_decision",
            b"poller_scaling_decision",
            "previous_started_event_id",
            b"previous_started_event_id",
            "queries",
            b"queries",
            "query",
            b"query",
            "scheduled_time",
            b"scheduled_time",
            "started_event_id",
            b"started_event_id",
            "started_time",
            b"started_time",
            "task_token",
            b"task_token",
            "workflow_execution",
            b"workflow_execution",
            "workflow_execution_task_queue",
            b"workflow_execution_task_queue",
            "workflow_type",
            b"workflow_type",
        ],
    ) -> None: ...

global___PollWorkflowTaskQueueResponse = PollWorkflowTaskQueueResponse

class RespondWorkflowTaskCompletedRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class QueryResultsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> temporalio.api.query.v1.message_pb2.WorkflowQueryResult: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: temporalio.api.query.v1.message_pb2.WorkflowQueryResult | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["value", b"value"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal["key", b"key", "value", b"value"],
        ) -> None: ...

    class Capabilities(google.protobuf.message.Message):
        """SDK capability details."""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        DISCARD_SPECULATIVE_WORKFLOW_TASK_WITH_EVENTS_FIELD_NUMBER: builtins.int
        discard_speculative_workflow_task_with_events: builtins.bool
        """True if the SDK can handle speculative workflow task with command events. If true, the
        server may choose, at its discretion, to discard a speculative workflow task even if that
        speculative task included command events the SDK had not previously processed.

        (-- api-linter: core::0140::prepositions=disabled
            aip.dev/not-precedent: "with" used to describe the workflow task. --)
        """
        def __init__(
            self,
            *,
            discard_speculative_workflow_task_with_events: builtins.bool = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "discard_speculative_workflow_task_with_events",
                b"discard_speculative_workflow_task_with_events",
            ],
        ) -> None: ...

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    COMMANDS_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    STICKY_ATTRIBUTES_FIELD_NUMBER: builtins.int
    RETURN_NEW_WORKFLOW_TASK_FIELD_NUMBER: builtins.int
    FORCE_CREATE_NEW_WORKFLOW_TASK_FIELD_NUMBER: builtins.int
    BINARY_CHECKSUM_FIELD_NUMBER: builtins.int
    QUERY_RESULTS_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKER_VERSION_STAMP_FIELD_NUMBER: builtins.int
    MESSAGES_FIELD_NUMBER: builtins.int
    SDK_METADATA_FIELD_NUMBER: builtins.int
    METERING_METADATA_FIELD_NUMBER: builtins.int
    CAPABILITIES_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FIELD_NUMBER: builtins.int
    VERSIONING_BEHAVIOR_FIELD_NUMBER: builtins.int
    DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    """The task token as received in `PollWorkflowTaskQueueResponse`"""
    @property
    def commands(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.command.v1.message_pb2.Command
    ]:
        """A list of commands generated when driving the workflow code in response to the new task"""
    identity: builtins.str
    """The identity of the worker/client"""
    @property
    def sticky_attributes(
        self,
    ) -> temporalio.api.taskqueue.v1.message_pb2.StickyExecutionAttributes:
        """May be set by workers to indicate that the worker desires future tasks to be provided with
        incremental history on a sticky queue.
        """
    return_new_workflow_task: builtins.bool
    """If set, the worker wishes to immediately receive the next workflow task as a response to
    this completion. This can save on polling round-trips.
    """
    force_create_new_workflow_task: builtins.bool
    """Can be used to *force* creation of a new workflow task, even if no commands have resolved or
    one would not otherwise have been generated. This is used when the worker knows it is doing
    something useful, but cannot complete it within the workflow task timeout. Local activities
    which run for longer than the task timeout being the prime example.
    """
    binary_checksum: builtins.str
    """Deprecated. Use `deployment_options` instead.
    Worker process' unique binary id
    """
    @property
    def query_results(
        self,
    ) -> google.protobuf.internal.containers.MessageMap[
        builtins.str, temporalio.api.query.v1.message_pb2.WorkflowQueryResult
    ]:
        """Responses to the `queries` field in the task being responded to"""
    namespace: builtins.str
    @property
    def worker_version_stamp(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkerVersionStamp:
        """Version info of the worker who processed this task. This message's `build_id` field should
        always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
        field to true. See message docstrings for more.
        Deprecated. Use `deployment_options` and `versioning_behavior` instead.
        """
    @property
    def messages(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.protocol.v1.message_pb2.Message
    ]:
        """Protocol messages piggybacking on a WFT as a transport"""
    @property
    def sdk_metadata(
        self,
    ) -> temporalio.api.sdk.v1.task_complete_metadata_pb2.WorkflowTaskCompletedMetadata:
        """Data the SDK wishes to record for itself, but server need not interpret, and does not
        directly impact workflow state.
        """
    @property
    def metering_metadata(
        self,
    ) -> temporalio.api.common.v1.message_pb2.MeteringMetadata:
        """Local usage data collected for metering"""
    @property
    def capabilities(self) -> global___RespondWorkflowTaskCompletedRequest.Capabilities:
        """All capabilities the SDK supports."""
    @property
    def deployment(self) -> temporalio.api.deployment.v1.message_pb2.Deployment:
        """Deployment info of the worker that completed this task. Must be present if user has set
        `WorkerDeploymentOptions` regardless of versioning being enabled or not.
        Deprecated. Replaced with `deployment_options`.
        """
    versioning_behavior: (
        temporalio.api.enums.v1.workflow_pb2.VersioningBehavior.ValueType
    )
    """Versioning behavior of this workflow execution as set on the worker that completed this task.
    UNSPECIFIED means versioning is not enabled in the worker.
    """
    @property
    def deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Worker deployment options that user has set in the worker."""
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        commands: collections.abc.Iterable[
            temporalio.api.command.v1.message_pb2.Command
        ]
        | None = ...,
        identity: builtins.str = ...,
        sticky_attributes: temporalio.api.taskqueue.v1.message_pb2.StickyExecutionAttributes
        | None = ...,
        return_new_workflow_task: builtins.bool = ...,
        force_create_new_workflow_task: builtins.bool = ...,
        binary_checksum: builtins.str = ...,
        query_results: collections.abc.Mapping[
            builtins.str, temporalio.api.query.v1.message_pb2.WorkflowQueryResult
        ]
        | None = ...,
        namespace: builtins.str = ...,
        worker_version_stamp: temporalio.api.common.v1.message_pb2.WorkerVersionStamp
        | None = ...,
        messages: collections.abc.Iterable[
            temporalio.api.protocol.v1.message_pb2.Message
        ]
        | None = ...,
        sdk_metadata: temporalio.api.sdk.v1.task_complete_metadata_pb2.WorkflowTaskCompletedMetadata
        | None = ...,
        metering_metadata: temporalio.api.common.v1.message_pb2.MeteringMetadata
        | None = ...,
        capabilities: global___RespondWorkflowTaskCompletedRequest.Capabilities
        | None = ...,
        deployment: temporalio.api.deployment.v1.message_pb2.Deployment | None = ...,
        versioning_behavior: temporalio.api.enums.v1.workflow_pb2.VersioningBehavior.ValueType = ...,
        deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "capabilities",
            b"capabilities",
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "metering_metadata",
            b"metering_metadata",
            "sdk_metadata",
            b"sdk_metadata",
            "sticky_attributes",
            b"sticky_attributes",
            "worker_version_stamp",
            b"worker_version_stamp",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "binary_checksum",
            b"binary_checksum",
            "capabilities",
            b"capabilities",
            "commands",
            b"commands",
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "force_create_new_workflow_task",
            b"force_create_new_workflow_task",
            "identity",
            b"identity",
            "messages",
            b"messages",
            "metering_metadata",
            b"metering_metadata",
            "namespace",
            b"namespace",
            "query_results",
            b"query_results",
            "return_new_workflow_task",
            b"return_new_workflow_task",
            "sdk_metadata",
            b"sdk_metadata",
            "sticky_attributes",
            b"sticky_attributes",
            "task_token",
            b"task_token",
            "versioning_behavior",
            b"versioning_behavior",
            "worker_version_stamp",
            b"worker_version_stamp",
        ],
    ) -> None: ...

global___RespondWorkflowTaskCompletedRequest = RespondWorkflowTaskCompletedRequest

class RespondWorkflowTaskCompletedResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKFLOW_TASK_FIELD_NUMBER: builtins.int
    ACTIVITY_TASKS_FIELD_NUMBER: builtins.int
    RESET_HISTORY_EVENT_ID_FIELD_NUMBER: builtins.int
    @property
    def workflow_task(self) -> global___PollWorkflowTaskQueueResponse:
        """See `RespondWorkflowTaskCompletedResponse::return_new_workflow_task`"""
    @property
    def activity_tasks(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___PollActivityTaskQueueResponse
    ]:
        """See `ScheduleActivityTaskCommandAttributes::request_eager_execution`"""
    reset_history_event_id: builtins.int
    """If non zero, indicates the server has discarded the workflow task that was being responded to.
    Will be the event ID of the last workflow task started event in the history before the new workflow task.
    Server is only expected to discard a workflow task if it could not have modified the workflow state.
    """
    def __init__(
        self,
        *,
        workflow_task: global___PollWorkflowTaskQueueResponse | None = ...,
        activity_tasks: collections.abc.Iterable[global___PollActivityTaskQueueResponse]
        | None = ...,
        reset_history_event_id: builtins.int = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["workflow_task", b"workflow_task"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity_tasks",
            b"activity_tasks",
            "reset_history_event_id",
            b"reset_history_event_id",
            "workflow_task",
            b"workflow_task",
        ],
    ) -> None: ...

global___RespondWorkflowTaskCompletedResponse = RespondWorkflowTaskCompletedResponse

class RespondWorkflowTaskFailedRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    CAUSE_FIELD_NUMBER: builtins.int
    FAILURE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    BINARY_CHECKSUM_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    MESSAGES_FIELD_NUMBER: builtins.int
    WORKER_VERSION_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FIELD_NUMBER: builtins.int
    DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    """The task token as received in `PollWorkflowTaskQueueResponse`"""
    cause: temporalio.api.enums.v1.failed_cause_pb2.WorkflowTaskFailedCause.ValueType
    """Why did the task fail? It's important to note that many of the variants in this enum cannot
    apply to worker responses. See the type's doc for more.
    """
    @property
    def failure(self) -> temporalio.api.failure.v1.message_pb2.Failure:
        """Failure details"""
    identity: builtins.str
    """The identity of the worker/client"""
    binary_checksum: builtins.str
    """Deprecated. Use `deployment_options` instead.
    Worker process' unique binary id
    """
    namespace: builtins.str
    @property
    def messages(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.protocol.v1.message_pb2.Message
    ]:
        """Protocol messages piggybacking on a WFT as a transport"""
    @property
    def worker_version(self) -> temporalio.api.common.v1.message_pb2.WorkerVersionStamp:
        """Version info of the worker who processed this task. This message's `build_id` field should
        always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
        field to true. See message docstrings for more.
        Deprecated. Use `deployment_options` instead.
        """
    @property
    def deployment(self) -> temporalio.api.deployment.v1.message_pb2.Deployment:
        """Deployment info of the worker that completed this task. Must be present if user has set
        `WorkerDeploymentOptions` regardless of versioning being enabled or not.
        Deprecated. Replaced with `deployment_options`.
        """
    @property
    def deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Worker deployment options that user has set in the worker."""
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        cause: temporalio.api.enums.v1.failed_cause_pb2.WorkflowTaskFailedCause.ValueType = ...,
        failure: temporalio.api.failure.v1.message_pb2.Failure | None = ...,
        identity: builtins.str = ...,
        binary_checksum: builtins.str = ...,
        namespace: builtins.str = ...,
        messages: collections.abc.Iterable[
            temporalio.api.protocol.v1.message_pb2.Message
        ]
        | None = ...,
        worker_version: temporalio.api.common.v1.message_pb2.WorkerVersionStamp
        | None = ...,
        deployment: temporalio.api.deployment.v1.message_pb2.Deployment | None = ...,
        deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "failure",
            b"failure",
            "worker_version",
            b"worker_version",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "binary_checksum",
            b"binary_checksum",
            "cause",
            b"cause",
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "failure",
            b"failure",
            "identity",
            b"identity",
            "messages",
            b"messages",
            "namespace",
            b"namespace",
            "task_token",
            b"task_token",
            "worker_version",
            b"worker_version",
        ],
    ) -> None: ...

global___RespondWorkflowTaskFailedRequest = RespondWorkflowTaskFailedRequest

class RespondWorkflowTaskFailedResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RespondWorkflowTaskFailedResponse = RespondWorkflowTaskFailedResponse

class PollActivityTaskQueueRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    TASK_QUEUE_METADATA_FIELD_NUMBER: builtins.int
    WORKER_VERSION_CAPABILITIES_FIELD_NUMBER: builtins.int
    DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    WORKER_HEARTBEAT_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def task_queue(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueue: ...
    identity: builtins.str
    """The identity of the worker/client"""
    @property
    def task_queue_metadata(
        self,
    ) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueMetadata: ...
    @property
    def worker_version_capabilities(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkerVersionCapabilities:
        """Information about this worker's build identifier and if it is choosing to use the versioning
        feature. See the `WorkerVersionCapabilities` docstring for more.
        Deprecated. Replaced by deployment_options.
        """
    @property
    def deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Worker deployment options that user has set in the worker."""
    @property
    def worker_heartbeat(self) -> temporalio.api.worker.v1.message_pb2.WorkerHeartbeat:
        """Worker info to be sent to the server."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        task_queue: temporalio.api.taskqueue.v1.message_pb2.TaskQueue | None = ...,
        identity: builtins.str = ...,
        task_queue_metadata: temporalio.api.taskqueue.v1.message_pb2.TaskQueueMetadata
        | None = ...,
        worker_version_capabilities: temporalio.api.common.v1.message_pb2.WorkerVersionCapabilities
        | None = ...,
        deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
        worker_heartbeat: temporalio.api.worker.v1.message_pb2.WorkerHeartbeat
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_options",
            b"deployment_options",
            "task_queue",
            b"task_queue",
            "task_queue_metadata",
            b"task_queue_metadata",
            "worker_heartbeat",
            b"worker_heartbeat",
            "worker_version_capabilities",
            b"worker_version_capabilities",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_options",
            b"deployment_options",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "task_queue",
            b"task_queue",
            "task_queue_metadata",
            b"task_queue_metadata",
            "worker_heartbeat",
            b"worker_heartbeat",
            "worker_version_capabilities",
            b"worker_version_capabilities",
        ],
    ) -> None: ...

global___PollActivityTaskQueueRequest = PollActivityTaskQueueRequest

class PollActivityTaskQueueResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    WORKFLOW_NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_TYPE_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_FIELD_NUMBER: builtins.int
    ACTIVITY_TYPE_FIELD_NUMBER: builtins.int
    ACTIVITY_ID_FIELD_NUMBER: builtins.int
    HEADER_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    HEARTBEAT_DETAILS_FIELD_NUMBER: builtins.int
    SCHEDULED_TIME_FIELD_NUMBER: builtins.int
    CURRENT_ATTEMPT_SCHEDULED_TIME_FIELD_NUMBER: builtins.int
    STARTED_TIME_FIELD_NUMBER: builtins.int
    ATTEMPT_FIELD_NUMBER: builtins.int
    SCHEDULE_TO_CLOSE_TIMEOUT_FIELD_NUMBER: builtins.int
    START_TO_CLOSE_TIMEOUT_FIELD_NUMBER: builtins.int
    HEARTBEAT_TIMEOUT_FIELD_NUMBER: builtins.int
    RETRY_POLICY_FIELD_NUMBER: builtins.int
    POLLER_SCALING_DECISION_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    """A unique identifier for this task"""
    workflow_namespace: builtins.str
    """The namespace the workflow which requested this activity lives in"""
    @property
    def workflow_type(self) -> temporalio.api.common.v1.message_pb2.WorkflowType:
        """Type of the requesting workflow"""
    @property
    def workflow_execution(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """Execution info of the requesting workflow"""
    @property
    def activity_type(self) -> temporalio.api.common.v1.message_pb2.ActivityType: ...
    activity_id: builtins.str
    """The autogenerated or user specified identifier of this activity. Can be used to complete the
    activity via `RespondActivityTaskCompletedById`. May be re-used as long as the last usage
    has resolved, but unique IDs for every activity invocation is a good idea.
    """
    @property
    def header(self) -> temporalio.api.common.v1.message_pb2.Header:
        """Headers specified by the scheduling workflow. Commonly used to propagate contextual info
        from the workflow to its activities. For example, tracing contexts.
        """
    @property
    def input(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Arguments to the activity invocation"""
    @property
    def heartbeat_details(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Details of the last heartbeat that was recorded for this activity as of the time this task
        was delivered.
        """
    @property
    def scheduled_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When was this task first scheduled"""
    @property
    def current_attempt_scheduled_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When was this task attempt scheduled"""
    @property
    def started_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """When was this task started (this attempt)"""
    attempt: builtins.int
    """Starting at 1, the number of attempts to perform this activity"""
    @property
    def schedule_to_close_timeout(self) -> google.protobuf.duration_pb2.Duration:
        """First scheduled -> final result reported timeout

        (-- api-linter: core::0140::prepositions=disabled
            aip.dev/not-precedent: "to" is used to indicate interval. --)
        """
    @property
    def start_to_close_timeout(self) -> google.protobuf.duration_pb2.Duration:
        """Current attempt start -> final result reported timeout

        (-- api-linter: core::0140::prepositions=disabled
            aip.dev/not-precedent: "to" is used to indicate interval. --)
        """
    @property
    def heartbeat_timeout(self) -> google.protobuf.duration_pb2.Duration:
        """Window within which the activity must report a heartbeat, or be timed out."""
    @property
    def retry_policy(self) -> temporalio.api.common.v1.message_pb2.RetryPolicy:
        """This is the retry policy the service uses which may be different from the one provided
        (or not) during activity scheduling. The service can override the provided one if some
        values are not specified or exceed configured system limits.
        """
    @property
    def poller_scaling_decision(
        self,
    ) -> temporalio.api.taskqueue.v1.message_pb2.PollerScalingDecision:
        """Server-advised information the SDK may use to adjust its poller count."""
    @property
    def priority(self) -> temporalio.api.common.v1.message_pb2.Priority:
        """Priority metadata"""
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        workflow_namespace: builtins.str = ...,
        workflow_type: temporalio.api.common.v1.message_pb2.WorkflowType | None = ...,
        workflow_execution: temporalio.api.common.v1.message_pb2.WorkflowExecution
        | None = ...,
        activity_type: temporalio.api.common.v1.message_pb2.ActivityType | None = ...,
        activity_id: builtins.str = ...,
        header: temporalio.api.common.v1.message_pb2.Header | None = ...,
        input: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        heartbeat_details: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        scheduled_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        current_attempt_scheduled_time: google.protobuf.timestamp_pb2.Timestamp
        | None = ...,
        started_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        attempt: builtins.int = ...,
        schedule_to_close_timeout: google.protobuf.duration_pb2.Duration | None = ...,
        start_to_close_timeout: google.protobuf.duration_pb2.Duration | None = ...,
        heartbeat_timeout: google.protobuf.duration_pb2.Duration | None = ...,
        retry_policy: temporalio.api.common.v1.message_pb2.RetryPolicy | None = ...,
        poller_scaling_decision: temporalio.api.taskqueue.v1.message_pb2.PollerScalingDecision
        | None = ...,
        priority: temporalio.api.common.v1.message_pb2.Priority | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "activity_type",
            b"activity_type",
            "current_attempt_scheduled_time",
            b"current_attempt_scheduled_time",
            "header",
            b"header",
            "heartbeat_details",
            b"heartbeat_details",
            "heartbeat_timeout",
            b"heartbeat_timeout",
            "input",
            b"input",
            "poller_scaling_decision",
            b"poller_scaling_decision",
            "priority",
            b"priority",
            "retry_policy",
            b"retry_policy",
            "schedule_to_close_timeout",
            b"schedule_to_close_timeout",
            "scheduled_time",
            b"scheduled_time",
            "start_to_close_timeout",
            b"start_to_close_timeout",
            "started_time",
            b"started_time",
            "workflow_execution",
            b"workflow_execution",
            "workflow_type",
            b"workflow_type",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity_id",
            b"activity_id",
            "activity_type",
            b"activity_type",
            "attempt",
            b"attempt",
            "current_attempt_scheduled_time",
            b"current_attempt_scheduled_time",
            "header",
            b"header",
            "heartbeat_details",
            b"heartbeat_details",
            "heartbeat_timeout",
            b"heartbeat_timeout",
            "input",
            b"input",
            "poller_scaling_decision",
            b"poller_scaling_decision",
            "priority",
            b"priority",
            "retry_policy",
            b"retry_policy",
            "schedule_to_close_timeout",
            b"schedule_to_close_timeout",
            "scheduled_time",
            b"scheduled_time",
            "start_to_close_timeout",
            b"start_to_close_timeout",
            "started_time",
            b"started_time",
            "task_token",
            b"task_token",
            "workflow_execution",
            b"workflow_execution",
            "workflow_namespace",
            b"workflow_namespace",
            "workflow_type",
            b"workflow_type",
        ],
    ) -> None: ...

global___PollActivityTaskQueueResponse = PollActivityTaskQueueResponse

class RecordActivityTaskHeartbeatRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    DETAILS_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    """The task token as received in `PollActivityTaskQueueResponse`"""
    @property
    def details(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Arbitrary data, of which the most recent call is kept, to store for this activity"""
    identity: builtins.str
    """The identity of the worker/client"""
    namespace: builtins.str
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        details: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        identity: builtins.str = ...,
        namespace: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["details", b"details"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "details",
            b"details",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "task_token",
            b"task_token",
        ],
    ) -> None: ...

global___RecordActivityTaskHeartbeatRequest = RecordActivityTaskHeartbeatRequest

class RecordActivityTaskHeartbeatResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CANCEL_REQUESTED_FIELD_NUMBER: builtins.int
    ACTIVITY_PAUSED_FIELD_NUMBER: builtins.int
    ACTIVITY_RESET_FIELD_NUMBER: builtins.int
    cancel_requested: builtins.bool
    """Will be set to true if the activity has been asked to cancel itself. The SDK should then
    notify the activity of cancellation if it is still running.
    """
    activity_paused: builtins.bool
    """Will be set to true if the activity is paused."""
    activity_reset: builtins.bool
    """Will be set to true if the activity was reset.
    Applies only to the current run.
    """
    def __init__(
        self,
        *,
        cancel_requested: builtins.bool = ...,
        activity_paused: builtins.bool = ...,
        activity_reset: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity_paused",
            b"activity_paused",
            "activity_reset",
            b"activity_reset",
            "cancel_requested",
            b"cancel_requested",
        ],
    ) -> None: ...

global___RecordActivityTaskHeartbeatResponse = RecordActivityTaskHeartbeatResponse

class RecordActivityTaskHeartbeatByIdRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    ACTIVITY_ID_FIELD_NUMBER: builtins.int
    DETAILS_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace of the workflow which scheduled this activity"""
    workflow_id: builtins.str
    """Id of the workflow which scheduled this activity"""
    run_id: builtins.str
    """Run Id of the workflow which scheduled this activity"""
    activity_id: builtins.str
    """Id of the activity we're heartbeating"""
    @property
    def details(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Arbitrary data, of which the most recent call is kept, to store for this activity"""
    identity: builtins.str
    """The identity of the worker/client"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_id: builtins.str = ...,
        run_id: builtins.str = ...,
        activity_id: builtins.str = ...,
        details: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["details", b"details"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity_id",
            b"activity_id",
            "details",
            b"details",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "run_id",
            b"run_id",
            "workflow_id",
            b"workflow_id",
        ],
    ) -> None: ...

global___RecordActivityTaskHeartbeatByIdRequest = RecordActivityTaskHeartbeatByIdRequest

class RecordActivityTaskHeartbeatByIdResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CANCEL_REQUESTED_FIELD_NUMBER: builtins.int
    ACTIVITY_PAUSED_FIELD_NUMBER: builtins.int
    ACTIVITY_RESET_FIELD_NUMBER: builtins.int
    cancel_requested: builtins.bool
    """Will be set to true if the activity has been asked to cancel itself. The SDK should then
    notify the activity of cancellation if it is still running.
    """
    activity_paused: builtins.bool
    """Will be set to true if the activity is paused."""
    activity_reset: builtins.bool
    """Will be set to true if the activity was reset.
    Applies only to the current run.
    """
    def __init__(
        self,
        *,
        cancel_requested: builtins.bool = ...,
        activity_paused: builtins.bool = ...,
        activity_reset: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity_paused",
            b"activity_paused",
            "activity_reset",
            b"activity_reset",
            "cancel_requested",
            b"cancel_requested",
        ],
    ) -> None: ...

global___RecordActivityTaskHeartbeatByIdResponse = (
    RecordActivityTaskHeartbeatByIdResponse
)

class RespondActivityTaskCompletedRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    RESULT_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKER_VERSION_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FIELD_NUMBER: builtins.int
    DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    """The task token as received in `PollActivityTaskQueueResponse`"""
    @property
    def result(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """The result of successfully executing the activity"""
    identity: builtins.str
    """The identity of the worker/client"""
    namespace: builtins.str
    @property
    def worker_version(self) -> temporalio.api.common.v1.message_pb2.WorkerVersionStamp:
        """Version info of the worker who processed this task. This message's `build_id` field should
        always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
        field to true. See message docstrings for more.
        Deprecated. Use `deployment_options` instead.
        """
    @property
    def deployment(self) -> temporalio.api.deployment.v1.message_pb2.Deployment:
        """Deployment info of the worker that completed this task. Must be present if user has set
        `WorkerDeploymentOptions` regardless of versioning being enabled or not.
        Deprecated. Replaced with `deployment_options`.
        """
    @property
    def deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Worker deployment options that user has set in the worker."""
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        result: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        identity: builtins.str = ...,
        namespace: builtins.str = ...,
        worker_version: temporalio.api.common.v1.message_pb2.WorkerVersionStamp
        | None = ...,
        deployment: temporalio.api.deployment.v1.message_pb2.Deployment | None = ...,
        deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "result",
            b"result",
            "worker_version",
            b"worker_version",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "result",
            b"result",
            "task_token",
            b"task_token",
            "worker_version",
            b"worker_version",
        ],
    ) -> None: ...

global___RespondActivityTaskCompletedRequest = RespondActivityTaskCompletedRequest

class RespondActivityTaskCompletedResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RespondActivityTaskCompletedResponse = RespondActivityTaskCompletedResponse

class RespondActivityTaskCompletedByIdRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    ACTIVITY_ID_FIELD_NUMBER: builtins.int
    RESULT_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace of the workflow which scheduled this activity"""
    workflow_id: builtins.str
    """Id of the workflow which scheduled this activity"""
    run_id: builtins.str
    """Run Id of the workflow which scheduled this activity"""
    activity_id: builtins.str
    """Id of the activity to complete"""
    @property
    def result(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """The serialized result of activity execution"""
    identity: builtins.str
    """The identity of the worker/client"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_id: builtins.str = ...,
        run_id: builtins.str = ...,
        activity_id: builtins.str = ...,
        result: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["result", b"result"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity_id",
            b"activity_id",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "result",
            b"result",
            "run_id",
            b"run_id",
            "workflow_id",
            b"workflow_id",
        ],
    ) -> None: ...

global___RespondActivityTaskCompletedByIdRequest = (
    RespondActivityTaskCompletedByIdRequest
)

class RespondActivityTaskCompletedByIdResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RespondActivityTaskCompletedByIdResponse = (
    RespondActivityTaskCompletedByIdResponse
)

class RespondActivityTaskFailedRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    FAILURE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    LAST_HEARTBEAT_DETAILS_FIELD_NUMBER: builtins.int
    WORKER_VERSION_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FIELD_NUMBER: builtins.int
    DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    """The task token as received in `PollActivityTaskQueueResponse`"""
    @property
    def failure(self) -> temporalio.api.failure.v1.message_pb2.Failure:
        """Detailed failure information"""
    identity: builtins.str
    """The identity of the worker/client"""
    namespace: builtins.str
    @property
    def last_heartbeat_details(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Additional details to be stored as last activity heartbeat"""
    @property
    def worker_version(self) -> temporalio.api.common.v1.message_pb2.WorkerVersionStamp:
        """Version info of the worker who processed this task. This message's `build_id` field should
        always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
        field to true. See message docstrings for more.
        Deprecated. Use `deployment_options` instead.
        """
    @property
    def deployment(self) -> temporalio.api.deployment.v1.message_pb2.Deployment:
        """Deployment info of the worker that completed this task. Must be present if user has set
        `WorkerDeploymentOptions` regardless of versioning being enabled or not.
        Deprecated. Replaced with `deployment_options`.
        """
    @property
    def deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Worker deployment options that user has set in the worker."""
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        failure: temporalio.api.failure.v1.message_pb2.Failure | None = ...,
        identity: builtins.str = ...,
        namespace: builtins.str = ...,
        last_heartbeat_details: temporalio.api.common.v1.message_pb2.Payloads
        | None = ...,
        worker_version: temporalio.api.common.v1.message_pb2.WorkerVersionStamp
        | None = ...,
        deployment: temporalio.api.deployment.v1.message_pb2.Deployment | None = ...,
        deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "failure",
            b"failure",
            "last_heartbeat_details",
            b"last_heartbeat_details",
            "worker_version",
            b"worker_version",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "failure",
            b"failure",
            "identity",
            b"identity",
            "last_heartbeat_details",
            b"last_heartbeat_details",
            "namespace",
            b"namespace",
            "task_token",
            b"task_token",
            "worker_version",
            b"worker_version",
        ],
    ) -> None: ...

global___RespondActivityTaskFailedRequest = RespondActivityTaskFailedRequest

class RespondActivityTaskFailedResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FAILURES_FIELD_NUMBER: builtins.int
    @property
    def failures(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.failure.v1.message_pb2.Failure
    ]:
        """Server validation failures could include
        last_heartbeat_details payload is too large, request failure is too large
        """
    def __init__(
        self,
        *,
        failures: collections.abc.Iterable[
            temporalio.api.failure.v1.message_pb2.Failure
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["failures", b"failures"]
    ) -> None: ...

global___RespondActivityTaskFailedResponse = RespondActivityTaskFailedResponse

class RespondActivityTaskFailedByIdRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    ACTIVITY_ID_FIELD_NUMBER: builtins.int
    FAILURE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    LAST_HEARTBEAT_DETAILS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace of the workflow which scheduled this activity"""
    workflow_id: builtins.str
    """Id of the workflow which scheduled this activity"""
    run_id: builtins.str
    """Run Id of the workflow which scheduled this activity"""
    activity_id: builtins.str
    """Id of the activity to fail"""
    @property
    def failure(self) -> temporalio.api.failure.v1.message_pb2.Failure:
        """Detailed failure information"""
    identity: builtins.str
    """The identity of the worker/client"""
    @property
    def last_heartbeat_details(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Additional details to be stored as last activity heartbeat"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_id: builtins.str = ...,
        run_id: builtins.str = ...,
        activity_id: builtins.str = ...,
        failure: temporalio.api.failure.v1.message_pb2.Failure | None = ...,
        identity: builtins.str = ...,
        last_heartbeat_details: temporalio.api.common.v1.message_pb2.Payloads
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "failure", b"failure", "last_heartbeat_details", b"last_heartbeat_details"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity_id",
            b"activity_id",
            "failure",
            b"failure",
            "identity",
            b"identity",
            "last_heartbeat_details",
            b"last_heartbeat_details",
            "namespace",
            b"namespace",
            "run_id",
            b"run_id",
            "workflow_id",
            b"workflow_id",
        ],
    ) -> None: ...

global___RespondActivityTaskFailedByIdRequest = RespondActivityTaskFailedByIdRequest

class RespondActivityTaskFailedByIdResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FAILURES_FIELD_NUMBER: builtins.int
    @property
    def failures(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.failure.v1.message_pb2.Failure
    ]:
        """Server validation failures could include
        last_heartbeat_details payload is too large, request failure is too large
        """
    def __init__(
        self,
        *,
        failures: collections.abc.Iterable[
            temporalio.api.failure.v1.message_pb2.Failure
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["failures", b"failures"]
    ) -> None: ...

global___RespondActivityTaskFailedByIdResponse = RespondActivityTaskFailedByIdResponse

class RespondActivityTaskCanceledRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    DETAILS_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKER_VERSION_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FIELD_NUMBER: builtins.int
    DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    """The task token as received in `PollActivityTaskQueueResponse`"""
    @property
    def details(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Serialized additional information to attach to the cancellation"""
    identity: builtins.str
    """The identity of the worker/client"""
    namespace: builtins.str
    @property
    def worker_version(self) -> temporalio.api.common.v1.message_pb2.WorkerVersionStamp:
        """Version info of the worker who processed this task. This message's `build_id` field should
        always be set by SDKs. Workers opting into versioning will also set the `use_versioning`
        field to true. See message docstrings for more.
        Deprecated. Use `deployment_options` instead.
        """
    @property
    def deployment(self) -> temporalio.api.deployment.v1.message_pb2.Deployment:
        """Deployment info of the worker that completed this task. Must be present if user has set
        `WorkerDeploymentOptions` regardless of versioning being enabled or not.
        Deprecated. Replaced with `deployment_options`.
        """
    @property
    def deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Worker deployment options that user has set in the worker."""
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        details: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        identity: builtins.str = ...,
        namespace: builtins.str = ...,
        worker_version: temporalio.api.common.v1.message_pb2.WorkerVersionStamp
        | None = ...,
        deployment: temporalio.api.deployment.v1.message_pb2.Deployment | None = ...,
        deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "details",
            b"details",
            "worker_version",
            b"worker_version",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment",
            b"deployment",
            "deployment_options",
            b"deployment_options",
            "details",
            b"details",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "task_token",
            b"task_token",
            "worker_version",
            b"worker_version",
        ],
    ) -> None: ...

global___RespondActivityTaskCanceledRequest = RespondActivityTaskCanceledRequest

class RespondActivityTaskCanceledResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RespondActivityTaskCanceledResponse = RespondActivityTaskCanceledResponse

class RespondActivityTaskCanceledByIdRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_FIELD_NUMBER: builtins.int
    RUN_ID_FIELD_NUMBER: builtins.int
    ACTIVITY_ID_FIELD_NUMBER: builtins.int
    DETAILS_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace of the workflow which scheduled this activity"""
    workflow_id: builtins.str
    """Id of the workflow which scheduled this activity"""
    run_id: builtins.str
    """Run Id of the workflow which scheduled this activity"""
    activity_id: builtins.str
    """Id of the activity to confirm is cancelled"""
    @property
    def details(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Serialized additional information to attach to the cancellation"""
    identity: builtins.str
    """The identity of the worker/client"""
    @property
    def deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Worker deployment options that user has set in the worker."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_id: builtins.str = ...,
        run_id: builtins.str = ...,
        activity_id: builtins.str = ...,
        details: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        identity: builtins.str = ...,
        deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_options", b"deployment_options", "details", b"details"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity_id",
            b"activity_id",
            "deployment_options",
            b"deployment_options",
            "details",
            b"details",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "run_id",
            b"run_id",
            "workflow_id",
            b"workflow_id",
        ],
    ) -> None: ...

global___RespondActivityTaskCanceledByIdRequest = RespondActivityTaskCanceledByIdRequest

class RespondActivityTaskCanceledByIdResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RespondActivityTaskCanceledByIdResponse = (
    RespondActivityTaskCanceledByIdResponse
)

class RequestCancelWorkflowExecutionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    FIRST_EXECUTION_RUN_ID_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    LINKS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def workflow_execution(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
    identity: builtins.str
    """The identity of the worker/client"""
    request_id: builtins.str
    """Used to de-dupe cancellation requests"""
    first_execution_run_id: builtins.str
    """If set, this call will error if the most recent (if no run id is set on
    `workflow_execution`), or specified (if it is) workflow execution is not part of the same
    execution chain as this id.
    """
    reason: builtins.str
    """Reason for requesting the cancellation"""
    @property
    def links(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.common.v1.message_pb2.Link
    ]:
        """Links to be associated with the WorkflowExecutionCanceled event."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_execution: temporalio.api.common.v1.message_pb2.WorkflowExecution
        | None = ...,
        identity: builtins.str = ...,
        request_id: builtins.str = ...,
        first_execution_run_id: builtins.str = ...,
        reason: builtins.str = ...,
        links: collections.abc.Iterable[temporalio.api.common.v1.message_pb2.Link]
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "workflow_execution", b"workflow_execution"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "first_execution_run_id",
            b"first_execution_run_id",
            "identity",
            b"identity",
            "links",
            b"links",
            "namespace",
            b"namespace",
            "reason",
            b"reason",
            "request_id",
            b"request_id",
            "workflow_execution",
            b"workflow_execution",
        ],
    ) -> None: ...

global___RequestCancelWorkflowExecutionRequest = RequestCancelWorkflowExecutionRequest

class RequestCancelWorkflowExecutionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RequestCancelWorkflowExecutionResponse = RequestCancelWorkflowExecutionResponse

class SignalWorkflowExecutionRequest(google.protobuf.message.Message):
    """Keep the parameters in sync with:
    - temporalio.api.batch.v1.BatchOperationSignal.
    - temporalio.api.workflow.v1.PostResetOperation.SignalWorkflow.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_FIELD_NUMBER: builtins.int
    SIGNAL_NAME_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    CONTROL_FIELD_NUMBER: builtins.int
    HEADER_FIELD_NUMBER: builtins.int
    LINKS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def workflow_execution(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
    signal_name: builtins.str
    """The workflow author-defined name of the signal to send to the workflow"""
    @property
    def input(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Serialized value(s) to provide with the signal"""
    identity: builtins.str
    """The identity of the worker/client"""
    request_id: builtins.str
    """Used to de-dupe sent signals"""
    control: builtins.str
    """Deprecated."""
    @property
    def header(self) -> temporalio.api.common.v1.message_pb2.Header:
        """Headers that are passed with the signal to the processing workflow.
        These can include things like auth or tracing tokens.
        """
    @property
    def links(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.common.v1.message_pb2.Link
    ]:
        """Links to be associated with the WorkflowExecutionSignaled event."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_execution: temporalio.api.common.v1.message_pb2.WorkflowExecution
        | None = ...,
        signal_name: builtins.str = ...,
        input: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        identity: builtins.str = ...,
        request_id: builtins.str = ...,
        control: builtins.str = ...,
        header: temporalio.api.common.v1.message_pb2.Header | None = ...,
        links: collections.abc.Iterable[temporalio.api.common.v1.message_pb2.Link]
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "header",
            b"header",
            "input",
            b"input",
            "workflow_execution",
            b"workflow_execution",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "control",
            b"control",
            "header",
            b"header",
            "identity",
            b"identity",
            "input",
            b"input",
            "links",
            b"links",
            "namespace",
            b"namespace",
            "request_id",
            b"request_id",
            "signal_name",
            b"signal_name",
            "workflow_execution",
            b"workflow_execution",
        ],
    ) -> None: ...

global___SignalWorkflowExecutionRequest = SignalWorkflowExecutionRequest

class SignalWorkflowExecutionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___SignalWorkflowExecutionResponse = SignalWorkflowExecutionResponse

class SignalWithStartWorkflowExecutionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_FIELD_NUMBER: builtins.int
    WORKFLOW_TYPE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_TIMEOUT_FIELD_NUMBER: builtins.int
    WORKFLOW_RUN_TIMEOUT_FIELD_NUMBER: builtins.int
    WORKFLOW_TASK_TIMEOUT_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_REUSE_POLICY_FIELD_NUMBER: builtins.int
    WORKFLOW_ID_CONFLICT_POLICY_FIELD_NUMBER: builtins.int
    SIGNAL_NAME_FIELD_NUMBER: builtins.int
    SIGNAL_INPUT_FIELD_NUMBER: builtins.int
    CONTROL_FIELD_NUMBER: builtins.int
    RETRY_POLICY_FIELD_NUMBER: builtins.int
    CRON_SCHEDULE_FIELD_NUMBER: builtins.int
    MEMO_FIELD_NUMBER: builtins.int
    SEARCH_ATTRIBUTES_FIELD_NUMBER: builtins.int
    HEADER_FIELD_NUMBER: builtins.int
    WORKFLOW_START_DELAY_FIELD_NUMBER: builtins.int
    USER_METADATA_FIELD_NUMBER: builtins.int
    LINKS_FIELD_NUMBER: builtins.int
    VERSIONING_OVERRIDE_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    workflow_id: builtins.str
    @property
    def workflow_type(self) -> temporalio.api.common.v1.message_pb2.WorkflowType: ...
    @property
    def task_queue(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueue:
        """The task queue to start this workflow on, if it will be started"""
    @property
    def input(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Serialized arguments to the workflow. These are passed as arguments to the workflow function."""
    @property
    def workflow_execution_timeout(self) -> google.protobuf.duration_pb2.Duration:
        """Total workflow execution timeout including retries and continue as new"""
    @property
    def workflow_run_timeout(self) -> google.protobuf.duration_pb2.Duration:
        """Timeout of a single workflow run"""
    @property
    def workflow_task_timeout(self) -> google.protobuf.duration_pb2.Duration:
        """Timeout of a single workflow task"""
    identity: builtins.str
    """The identity of the worker/client"""
    request_id: builtins.str
    """Used to de-dupe signal w/ start requests"""
    workflow_id_reuse_policy: (
        temporalio.api.enums.v1.workflow_pb2.WorkflowIdReusePolicy.ValueType
    )
    """Defines whether to allow re-using the workflow id from a previously *closed* workflow.
    The default policy is WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

    See `workflow_id_reuse_policy` for handling a workflow id duplication with a *running* workflow.
    """
    workflow_id_conflict_policy: (
        temporalio.api.enums.v1.workflow_pb2.WorkflowIdConflictPolicy.ValueType
    )
    """Defines how to resolve a workflow id conflict with a *running* workflow.
    The default policy is WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING.
    Note that WORKFLOW_ID_CONFLICT_POLICY_FAIL is an invalid option.

    See `workflow_id_reuse_policy` for handling a workflow id duplication with a *closed* workflow.
    """
    signal_name: builtins.str
    """The workflow author-defined name of the signal to send to the workflow"""
    @property
    def signal_input(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Serialized value(s) to provide with the signal"""
    control: builtins.str
    """Deprecated."""
    @property
    def retry_policy(self) -> temporalio.api.common.v1.message_pb2.RetryPolicy:
        """Retry policy for the workflow"""
    cron_schedule: builtins.str
    """See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/"""
    @property
    def memo(self) -> temporalio.api.common.v1.message_pb2.Memo: ...
    @property
    def search_attributes(
        self,
    ) -> temporalio.api.common.v1.message_pb2.SearchAttributes: ...
    @property
    def header(self) -> temporalio.api.common.v1.message_pb2.Header: ...
    @property
    def workflow_start_delay(self) -> google.protobuf.duration_pb2.Duration:
        """Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
        Note that the signal will be delivered with the first workflow task. If the workflow gets
        another SignalWithStartWorkflow before the delay a workflow task will be dispatched immediately
        and the rest of the delay period will be ignored, even if that request also had a delay.
        Signal via SignalWorkflowExecution will not unblock the workflow.
        """
    @property
    def user_metadata(self) -> temporalio.api.sdk.v1.user_metadata_pb2.UserMetadata:
        """Metadata on the workflow if it is started. This is carried over to the WorkflowExecutionInfo
        for use by user interfaces to display the fixed as-of-start summary and details of the
        workflow.
        """
    @property
    def links(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.common.v1.message_pb2.Link
    ]:
        """Links to be associated with the WorkflowExecutionStarted and WorkflowExecutionSignaled events."""
    @property
    def versioning_override(
        self,
    ) -> temporalio.api.workflow.v1.message_pb2.VersioningOverride:
        """If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion.
        To unset the override after the workflow is running, use UpdateWorkflowExecutionOptions.
        """
    @property
    def priority(self) -> temporalio.api.common.v1.message_pb2.Priority:
        """Priority metadata"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_id: builtins.str = ...,
        workflow_type: temporalio.api.common.v1.message_pb2.WorkflowType | None = ...,
        task_queue: temporalio.api.taskqueue.v1.message_pb2.TaskQueue | None = ...,
        input: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        workflow_execution_timeout: google.protobuf.duration_pb2.Duration | None = ...,
        workflow_run_timeout: google.protobuf.duration_pb2.Duration | None = ...,
        workflow_task_timeout: google.protobuf.duration_pb2.Duration | None = ...,
        identity: builtins.str = ...,
        request_id: builtins.str = ...,
        workflow_id_reuse_policy: temporalio.api.enums.v1.workflow_pb2.WorkflowIdReusePolicy.ValueType = ...,
        workflow_id_conflict_policy: temporalio.api.enums.v1.workflow_pb2.WorkflowIdConflictPolicy.ValueType = ...,
        signal_name: builtins.str = ...,
        signal_input: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        control: builtins.str = ...,
        retry_policy: temporalio.api.common.v1.message_pb2.RetryPolicy | None = ...,
        cron_schedule: builtins.str = ...,
        memo: temporalio.api.common.v1.message_pb2.Memo | None = ...,
        search_attributes: temporalio.api.common.v1.message_pb2.SearchAttributes
        | None = ...,
        header: temporalio.api.common.v1.message_pb2.Header | None = ...,
        workflow_start_delay: google.protobuf.duration_pb2.Duration | None = ...,
        user_metadata: temporalio.api.sdk.v1.user_metadata_pb2.UserMetadata
        | None = ...,
        links: collections.abc.Iterable[temporalio.api.common.v1.message_pb2.Link]
        | None = ...,
        versioning_override: temporalio.api.workflow.v1.message_pb2.VersioningOverride
        | None = ...,
        priority: temporalio.api.common.v1.message_pb2.Priority | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "header",
            b"header",
            "input",
            b"input",
            "memo",
            b"memo",
            "priority",
            b"priority",
            "retry_policy",
            b"retry_policy",
            "search_attributes",
            b"search_attributes",
            "signal_input",
            b"signal_input",
            "task_queue",
            b"task_queue",
            "user_metadata",
            b"user_metadata",
            "versioning_override",
            b"versioning_override",
            "workflow_execution_timeout",
            b"workflow_execution_timeout",
            "workflow_run_timeout",
            b"workflow_run_timeout",
            "workflow_start_delay",
            b"workflow_start_delay",
            "workflow_task_timeout",
            b"workflow_task_timeout",
            "workflow_type",
            b"workflow_type",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "control",
            b"control",
            "cron_schedule",
            b"cron_schedule",
            "header",
            b"header",
            "identity",
            b"identity",
            "input",
            b"input",
            "links",
            b"links",
            "memo",
            b"memo",
            "namespace",
            b"namespace",
            "priority",
            b"priority",
            "request_id",
            b"request_id",
            "retry_policy",
            b"retry_policy",
            "search_attributes",
            b"search_attributes",
            "signal_input",
            b"signal_input",
            "signal_name",
            b"signal_name",
            "task_queue",
            b"task_queue",
            "user_metadata",
            b"user_metadata",
            "versioning_override",
            b"versioning_override",
            "workflow_execution_timeout",
            b"workflow_execution_timeout",
            "workflow_id",
            b"workflow_id",
            "workflow_id_conflict_policy",
            b"workflow_id_conflict_policy",
            "workflow_id_reuse_policy",
            b"workflow_id_reuse_policy",
            "workflow_run_timeout",
            b"workflow_run_timeout",
            "workflow_start_delay",
            b"workflow_start_delay",
            "workflow_task_timeout",
            b"workflow_task_timeout",
            "workflow_type",
            b"workflow_type",
        ],
    ) -> None: ...

global___SignalWithStartWorkflowExecutionRequest = (
    SignalWithStartWorkflowExecutionRequest
)

class SignalWithStartWorkflowExecutionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RUN_ID_FIELD_NUMBER: builtins.int
    STARTED_FIELD_NUMBER: builtins.int
    run_id: builtins.str
    """The run id of the workflow that was started - or just signaled, if it was already running."""
    started: builtins.bool
    """If true, a new workflow was started."""
    def __init__(
        self,
        *,
        run_id: builtins.str = ...,
        started: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "run_id", b"run_id", "started", b"started"
        ],
    ) -> None: ...

global___SignalWithStartWorkflowExecutionResponse = (
    SignalWithStartWorkflowExecutionResponse
)

class ResetWorkflowExecutionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    WORKFLOW_TASK_FINISH_EVENT_ID_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    RESET_REAPPLY_TYPE_FIELD_NUMBER: builtins.int
    RESET_REAPPLY_EXCLUDE_TYPES_FIELD_NUMBER: builtins.int
    POST_RESET_OPERATIONS_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def workflow_execution(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """The workflow to reset. If this contains a run ID then the workflow will be reset back to the
        provided event ID in that run. Otherwise it will be reset to the provided event ID in the
        current run. In all cases the current run will be terminated and a new run started.
        """
    reason: builtins.str
    workflow_task_finish_event_id: builtins.int
    """The id of a `WORKFLOW_TASK_COMPLETED`,`WORKFLOW_TASK_TIMED_OUT`, `WORKFLOW_TASK_FAILED`, or
    `WORKFLOW_TASK_STARTED` event to reset to.
    """
    request_id: builtins.str
    """Used to de-dupe reset requests"""
    reset_reapply_type: temporalio.api.enums.v1.reset_pb2.ResetReapplyType.ValueType
    """Deprecated. Use `options`.
    Default: RESET_REAPPLY_TYPE_SIGNAL
    """
    @property
    def reset_reapply_exclude_types(
        self,
    ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        temporalio.api.enums.v1.reset_pb2.ResetReapplyExcludeType.ValueType
    ]:
        """Event types not to be reapplied"""
    @property
    def post_reset_operations(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.PostResetOperation
    ]:
        """Operations to perform after the workflow has been reset. These operations will be applied
        to the *new* run of the workflow execution in the order they are provided.
        All operations are applied to the workflow before the first new workflow task is generated
        """
    identity: builtins.str
    """The identity of the worker/client"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_execution: temporalio.api.common.v1.message_pb2.WorkflowExecution
        | None = ...,
        reason: builtins.str = ...,
        workflow_task_finish_event_id: builtins.int = ...,
        request_id: builtins.str = ...,
        reset_reapply_type: temporalio.api.enums.v1.reset_pb2.ResetReapplyType.ValueType = ...,
        reset_reapply_exclude_types: collections.abc.Iterable[
            temporalio.api.enums.v1.reset_pb2.ResetReapplyExcludeType.ValueType
        ]
        | None = ...,
        post_reset_operations: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.PostResetOperation
        ]
        | None = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "workflow_execution", b"workflow_execution"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "post_reset_operations",
            b"post_reset_operations",
            "reason",
            b"reason",
            "request_id",
            b"request_id",
            "reset_reapply_exclude_types",
            b"reset_reapply_exclude_types",
            "reset_reapply_type",
            b"reset_reapply_type",
            "workflow_execution",
            b"workflow_execution",
            "workflow_task_finish_event_id",
            b"workflow_task_finish_event_id",
        ],
    ) -> None: ...

global___ResetWorkflowExecutionRequest = ResetWorkflowExecutionRequest

class ResetWorkflowExecutionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RUN_ID_FIELD_NUMBER: builtins.int
    run_id: builtins.str
    def __init__(
        self,
        *,
        run_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["run_id", b"run_id"]
    ) -> None: ...

global___ResetWorkflowExecutionResponse = ResetWorkflowExecutionResponse

class TerminateWorkflowExecutionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    DETAILS_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    FIRST_EXECUTION_RUN_ID_FIELD_NUMBER: builtins.int
    LINKS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def workflow_execution(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
    reason: builtins.str
    @property
    def details(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """Serialized additional information to attach to the termination event"""
    identity: builtins.str
    """The identity of the worker/client"""
    first_execution_run_id: builtins.str
    """If set, this call will error if the most recent (if no run id is set on
    `workflow_execution`), or specified (if it is) workflow execution is not part of the same
    execution chain as this id.
    """
    @property
    def links(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.common.v1.message_pb2.Link
    ]:
        """Links to be associated with the WorkflowExecutionTerminated event."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_execution: temporalio.api.common.v1.message_pb2.WorkflowExecution
        | None = ...,
        reason: builtins.str = ...,
        details: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        identity: builtins.str = ...,
        first_execution_run_id: builtins.str = ...,
        links: collections.abc.Iterable[temporalio.api.common.v1.message_pb2.Link]
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "details", b"details", "workflow_execution", b"workflow_execution"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "details",
            b"details",
            "first_execution_run_id",
            b"first_execution_run_id",
            "identity",
            b"identity",
            "links",
            b"links",
            "namespace",
            b"namespace",
            "reason",
            b"reason",
            "workflow_execution",
            b"workflow_execution",
        ],
    ) -> None: ...

global___TerminateWorkflowExecutionRequest = TerminateWorkflowExecutionRequest

class TerminateWorkflowExecutionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___TerminateWorkflowExecutionResponse = TerminateWorkflowExecutionResponse

class DeleteWorkflowExecutionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def workflow_execution(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """Workflow Execution to delete. If run_id is not specified, the latest one is used."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_execution: temporalio.api.common.v1.message_pb2.WorkflowExecution
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "workflow_execution", b"workflow_execution"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "workflow_execution", b"workflow_execution"
        ],
    ) -> None: ...

global___DeleteWorkflowExecutionRequest = DeleteWorkflowExecutionRequest

class DeleteWorkflowExecutionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___DeleteWorkflowExecutionResponse = DeleteWorkflowExecutionResponse

class ListOpenWorkflowExecutionsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    MAXIMUM_PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    START_TIME_FILTER_FIELD_NUMBER: builtins.int
    EXECUTION_FILTER_FIELD_NUMBER: builtins.int
    TYPE_FILTER_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    maximum_page_size: builtins.int
    next_page_token: builtins.bytes
    @property
    def start_time_filter(
        self,
    ) -> temporalio.api.filter.v1.message_pb2.StartTimeFilter: ...
    @property
    def execution_filter(
        self,
    ) -> temporalio.api.filter.v1.message_pb2.WorkflowExecutionFilter: ...
    @property
    def type_filter(
        self,
    ) -> temporalio.api.filter.v1.message_pb2.WorkflowTypeFilter: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        maximum_page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        start_time_filter: temporalio.api.filter.v1.message_pb2.StartTimeFilter
        | None = ...,
        execution_filter: temporalio.api.filter.v1.message_pb2.WorkflowExecutionFilter
        | None = ...,
        type_filter: temporalio.api.filter.v1.message_pb2.WorkflowTypeFilter
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "execution_filter",
            b"execution_filter",
            "filters",
            b"filters",
            "start_time_filter",
            b"start_time_filter",
            "type_filter",
            b"type_filter",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "execution_filter",
            b"execution_filter",
            "filters",
            b"filters",
            "maximum_page_size",
            b"maximum_page_size",
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "start_time_filter",
            b"start_time_filter",
            "type_filter",
            b"type_filter",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["filters", b"filters"]
    ) -> typing_extensions.Literal["execution_filter", "type_filter"] | None: ...

global___ListOpenWorkflowExecutionsRequest = ListOpenWorkflowExecutionsRequest

class ListOpenWorkflowExecutionsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EXECUTIONS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def executions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
    ]: ...
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        executions: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "executions", b"executions", "next_page_token", b"next_page_token"
        ],
    ) -> None: ...

global___ListOpenWorkflowExecutionsResponse = ListOpenWorkflowExecutionsResponse

class ListClosedWorkflowExecutionsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    MAXIMUM_PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    START_TIME_FILTER_FIELD_NUMBER: builtins.int
    EXECUTION_FILTER_FIELD_NUMBER: builtins.int
    TYPE_FILTER_FIELD_NUMBER: builtins.int
    STATUS_FILTER_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    maximum_page_size: builtins.int
    next_page_token: builtins.bytes
    @property
    def start_time_filter(
        self,
    ) -> temporalio.api.filter.v1.message_pb2.StartTimeFilter: ...
    @property
    def execution_filter(
        self,
    ) -> temporalio.api.filter.v1.message_pb2.WorkflowExecutionFilter: ...
    @property
    def type_filter(
        self,
    ) -> temporalio.api.filter.v1.message_pb2.WorkflowTypeFilter: ...
    @property
    def status_filter(self) -> temporalio.api.filter.v1.message_pb2.StatusFilter: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        maximum_page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        start_time_filter: temporalio.api.filter.v1.message_pb2.StartTimeFilter
        | None = ...,
        execution_filter: temporalio.api.filter.v1.message_pb2.WorkflowExecutionFilter
        | None = ...,
        type_filter: temporalio.api.filter.v1.message_pb2.WorkflowTypeFilter
        | None = ...,
        status_filter: temporalio.api.filter.v1.message_pb2.StatusFilter | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "execution_filter",
            b"execution_filter",
            "filters",
            b"filters",
            "start_time_filter",
            b"start_time_filter",
            "status_filter",
            b"status_filter",
            "type_filter",
            b"type_filter",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "execution_filter",
            b"execution_filter",
            "filters",
            b"filters",
            "maximum_page_size",
            b"maximum_page_size",
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "start_time_filter",
            b"start_time_filter",
            "status_filter",
            b"status_filter",
            "type_filter",
            b"type_filter",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["filters", b"filters"]
    ) -> (
        typing_extensions.Literal["execution_filter", "type_filter", "status_filter"]
        | None
    ): ...

global___ListClosedWorkflowExecutionsRequest = ListClosedWorkflowExecutionsRequest

class ListClosedWorkflowExecutionsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EXECUTIONS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def executions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
    ]: ...
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        executions: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "executions", b"executions", "next_page_token", b"next_page_token"
        ],
    ) -> None: ...

global___ListClosedWorkflowExecutionsResponse = ListClosedWorkflowExecutionsResponse

class ListWorkflowExecutionsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    QUERY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    page_size: builtins.int
    next_page_token: builtins.bytes
    query: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        query: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "page_size",
            b"page_size",
            "query",
            b"query",
        ],
    ) -> None: ...

global___ListWorkflowExecutionsRequest = ListWorkflowExecutionsRequest

class ListWorkflowExecutionsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EXECUTIONS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def executions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
    ]: ...
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        executions: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "executions", b"executions", "next_page_token", b"next_page_token"
        ],
    ) -> None: ...

global___ListWorkflowExecutionsResponse = ListWorkflowExecutionsResponse

class ListArchivedWorkflowExecutionsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    QUERY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    page_size: builtins.int
    next_page_token: builtins.bytes
    query: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        query: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "page_size",
            b"page_size",
            "query",
            b"query",
        ],
    ) -> None: ...

global___ListArchivedWorkflowExecutionsRequest = ListArchivedWorkflowExecutionsRequest

class ListArchivedWorkflowExecutionsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EXECUTIONS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def executions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
    ]: ...
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        executions: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "executions", b"executions", "next_page_token", b"next_page_token"
        ],
    ) -> None: ...

global___ListArchivedWorkflowExecutionsResponse = ListArchivedWorkflowExecutionsResponse

class ScanWorkflowExecutionsRequest(google.protobuf.message.Message):
    """Deprecated: Use with `ListWorkflowExecutions`."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    QUERY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    page_size: builtins.int
    next_page_token: builtins.bytes
    query: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        query: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "page_size",
            b"page_size",
            "query",
            b"query",
        ],
    ) -> None: ...

global___ScanWorkflowExecutionsRequest = ScanWorkflowExecutionsRequest

class ScanWorkflowExecutionsResponse(google.protobuf.message.Message):
    """Deprecated: Use with `ListWorkflowExecutions`."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EXECUTIONS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def executions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
    ]: ...
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        executions: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "executions", b"executions", "next_page_token", b"next_page_token"
        ],
    ) -> None: ...

global___ScanWorkflowExecutionsResponse = ScanWorkflowExecutionsResponse

class CountWorkflowExecutionsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    QUERY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    query: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        query: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "query", b"query"
        ],
    ) -> None: ...

global___CountWorkflowExecutionsRequest = CountWorkflowExecutionsRequest

class CountWorkflowExecutionsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class AggregationGroup(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        GROUP_VALUES_FIELD_NUMBER: builtins.int
        COUNT_FIELD_NUMBER: builtins.int
        @property
        def group_values(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            temporalio.api.common.v1.message_pb2.Payload
        ]: ...
        count: builtins.int
        def __init__(
            self,
            *,
            group_values: collections.abc.Iterable[
                temporalio.api.common.v1.message_pb2.Payload
            ]
            | None = ...,
            count: builtins.int = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "count", b"count", "group_values", b"group_values"
            ],
        ) -> None: ...

    COUNT_FIELD_NUMBER: builtins.int
    GROUPS_FIELD_NUMBER: builtins.int
    count: builtins.int
    """If `query` is not grouping by any field, the count is an approximate number
    of workflows that matches the query.
    If `query` is grouping by a field, the count is simply the sum of the counts
    of the groups returned in the response. This number can be smaller than the
    total number of workflows matching the query.
    """
    @property
    def groups(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___CountWorkflowExecutionsResponse.AggregationGroup
    ]:
        """`groups` contains the groups if the request is grouping by a field.
        The list might not be complete, and the counts of each group is approximate.
        """
    def __init__(
        self,
        *,
        count: builtins.int = ...,
        groups: collections.abc.Iterable[
            global___CountWorkflowExecutionsResponse.AggregationGroup
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal["count", b"count", "groups", b"groups"],
    ) -> None: ...

global___CountWorkflowExecutionsResponse = CountWorkflowExecutionsResponse

class GetSearchAttributesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetSearchAttributesRequest = GetSearchAttributesRequest

class GetSearchAttributesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class KeysEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: temporalio.api.enums.v1.common_pb2.IndexedValueType.ValueType
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: temporalio.api.enums.v1.common_pb2.IndexedValueType.ValueType = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal["key", b"key", "value", b"value"],
        ) -> None: ...

    KEYS_FIELD_NUMBER: builtins.int
    @property
    def keys(
        self,
    ) -> google.protobuf.internal.containers.ScalarMap[
        builtins.str, temporalio.api.enums.v1.common_pb2.IndexedValueType.ValueType
    ]: ...
    def __init__(
        self,
        *,
        keys: collections.abc.Mapping[
            builtins.str, temporalio.api.enums.v1.common_pb2.IndexedValueType.ValueType
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["keys", b"keys"]
    ) -> None: ...

global___GetSearchAttributesResponse = GetSearchAttributesResponse

class RespondQueryTaskCompletedRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    COMPLETED_TYPE_FIELD_NUMBER: builtins.int
    QUERY_RESULT_FIELD_NUMBER: builtins.int
    ERROR_MESSAGE_FIELD_NUMBER: builtins.int
    NAMESPACE_FIELD_NUMBER: builtins.int
    FAILURE_FIELD_NUMBER: builtins.int
    CAUSE_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    completed_type: temporalio.api.enums.v1.query_pb2.QueryResultType.ValueType
    @property
    def query_result(self) -> temporalio.api.common.v1.message_pb2.Payloads:
        """The result of the query.
        Mutually exclusive with `error_message` and `failure`. Set when the query succeeds.
        """
    error_message: builtins.str
    """A plain error message that must be set if completed_type is QUERY_RESULT_TYPE_FAILED.
    SDKs should also fill in the more complete `failure` field to provide the full context and
    support encryption of failure information.
    `error_message` will be duplicated if the `failure` field is present to support callers
    that pre-date the addition of that field, regardless of whether or not a custom failure
    converter is used.
    Mutually exclusive with `query_result`. Set when the query fails.
    """
    namespace: builtins.str
    @property
    def failure(self) -> temporalio.api.failure.v1.message_pb2.Failure:
        """The full reason for this query failure. This field is newer than `error_message` and can be
        encoded by the SDK's failure converter to support E2E encryption of messages and stack
        traces.
        Mutually exclusive with `query_result`. Set when the query fails.
        """
    cause: temporalio.api.enums.v1.failed_cause_pb2.WorkflowTaskFailedCause.ValueType
    """Why did the task fail? It's important to note that many of the variants in this enum cannot
    apply to worker responses. See the type's doc for more.
    """
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        completed_type: temporalio.api.enums.v1.query_pb2.QueryResultType.ValueType = ...,
        query_result: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        error_message: builtins.str = ...,
        namespace: builtins.str = ...,
        failure: temporalio.api.failure.v1.message_pb2.Failure | None = ...,
        cause: temporalio.api.enums.v1.failed_cause_pb2.WorkflowTaskFailedCause.ValueType = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "failure", b"failure", "query_result", b"query_result"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "cause",
            b"cause",
            "completed_type",
            b"completed_type",
            "error_message",
            b"error_message",
            "failure",
            b"failure",
            "namespace",
            b"namespace",
            "query_result",
            b"query_result",
            "task_token",
            b"task_token",
        ],
    ) -> None: ...

global___RespondQueryTaskCompletedRequest = RespondQueryTaskCompletedRequest

class RespondQueryTaskCompletedResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RespondQueryTaskCompletedResponse = RespondQueryTaskCompletedResponse

class ResetStickyTaskQueueRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["execution", b"execution"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "execution", b"execution", "namespace", b"namespace"
        ],
    ) -> None: ...

global___ResetStickyTaskQueueRequest = ResetStickyTaskQueueRequest

class ResetStickyTaskQueueResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___ResetStickyTaskQueueResponse = ResetStickyTaskQueueResponse

class ShutdownWorkerRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    STICKY_TASK_QUEUE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    WORKER_HEARTBEAT_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    sticky_task_queue: builtins.str
    identity: builtins.str
    reason: builtins.str
    @property
    def worker_heartbeat(
        self,
    ) -> temporalio.api.worker.v1.message_pb2.WorkerHeartbeat: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        sticky_task_queue: builtins.str = ...,
        identity: builtins.str = ...,
        reason: builtins.str = ...,
        worker_heartbeat: temporalio.api.worker.v1.message_pb2.WorkerHeartbeat
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal["worker_heartbeat", b"worker_heartbeat"],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "reason",
            b"reason",
            "sticky_task_queue",
            b"sticky_task_queue",
            "worker_heartbeat",
            b"worker_heartbeat",
        ],
    ) -> None: ...

global___ShutdownWorkerRequest = ShutdownWorkerRequest

class ShutdownWorkerResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___ShutdownWorkerResponse = ShutdownWorkerResponse

class QueryWorkflowRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    QUERY_FIELD_NUMBER: builtins.int
    QUERY_REJECT_CONDITION_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
    @property
    def query(self) -> temporalio.api.query.v1.message_pb2.WorkflowQuery: ...
    query_reject_condition: (
        temporalio.api.enums.v1.query_pb2.QueryRejectCondition.ValueType
    )
    """QueryRejectCondition can used to reject the query if workflow state does not satisfy condition.
    Default: QUERY_REJECT_CONDITION_NONE.
    """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
        query: temporalio.api.query.v1.message_pb2.WorkflowQuery | None = ...,
        query_reject_condition: temporalio.api.enums.v1.query_pb2.QueryRejectCondition.ValueType = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "execution", b"execution", "query", b"query"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "execution",
            b"execution",
            "namespace",
            b"namespace",
            "query",
            b"query",
            "query_reject_condition",
            b"query_reject_condition",
        ],
    ) -> None: ...

global___QueryWorkflowRequest = QueryWorkflowRequest

class QueryWorkflowResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    QUERY_RESULT_FIELD_NUMBER: builtins.int
    QUERY_REJECTED_FIELD_NUMBER: builtins.int
    @property
    def query_result(self) -> temporalio.api.common.v1.message_pb2.Payloads: ...
    @property
    def query_rejected(self) -> temporalio.api.query.v1.message_pb2.QueryRejected: ...
    def __init__(
        self,
        *,
        query_result: temporalio.api.common.v1.message_pb2.Payloads | None = ...,
        query_rejected: temporalio.api.query.v1.message_pb2.QueryRejected | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "query_rejected", b"query_rejected", "query_result", b"query_result"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "query_rejected", b"query_rejected", "query_result", b"query_result"
        ],
    ) -> None: ...

global___QueryWorkflowResponse = QueryWorkflowResponse

class DescribeWorkflowExecutionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["execution", b"execution"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "execution", b"execution", "namespace", b"namespace"
        ],
    ) -> None: ...

global___DescribeWorkflowExecutionRequest = DescribeWorkflowExecutionRequest

class DescribeWorkflowExecutionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EXECUTION_CONFIG_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_INFO_FIELD_NUMBER: builtins.int
    PENDING_ACTIVITIES_FIELD_NUMBER: builtins.int
    PENDING_CHILDREN_FIELD_NUMBER: builtins.int
    PENDING_WORKFLOW_TASK_FIELD_NUMBER: builtins.int
    CALLBACKS_FIELD_NUMBER: builtins.int
    PENDING_NEXUS_OPERATIONS_FIELD_NUMBER: builtins.int
    WORKFLOW_EXTENDED_INFO_FIELD_NUMBER: builtins.int
    @property
    def execution_config(
        self,
    ) -> temporalio.api.workflow.v1.message_pb2.WorkflowExecutionConfig: ...
    @property
    def workflow_execution_info(
        self,
    ) -> temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo: ...
    @property
    def pending_activities(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.PendingActivityInfo
    ]: ...
    @property
    def pending_children(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.PendingChildExecutionInfo
    ]: ...
    @property
    def pending_workflow_task(
        self,
    ) -> temporalio.api.workflow.v1.message_pb2.PendingWorkflowTaskInfo: ...
    @property
    def callbacks(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.CallbackInfo
    ]: ...
    @property
    def pending_nexus_operations(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.workflow.v1.message_pb2.PendingNexusOperationInfo
    ]: ...
    @property
    def workflow_extended_info(
        self,
    ) -> temporalio.api.workflow.v1.message_pb2.WorkflowExecutionExtendedInfo: ...
    def __init__(
        self,
        *,
        execution_config: temporalio.api.workflow.v1.message_pb2.WorkflowExecutionConfig
        | None = ...,
        workflow_execution_info: temporalio.api.workflow.v1.message_pb2.WorkflowExecutionInfo
        | None = ...,
        pending_activities: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.PendingActivityInfo
        ]
        | None = ...,
        pending_children: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.PendingChildExecutionInfo
        ]
        | None = ...,
        pending_workflow_task: temporalio.api.workflow.v1.message_pb2.PendingWorkflowTaskInfo
        | None = ...,
        callbacks: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.CallbackInfo
        ]
        | None = ...,
        pending_nexus_operations: collections.abc.Iterable[
            temporalio.api.workflow.v1.message_pb2.PendingNexusOperationInfo
        ]
        | None = ...,
        workflow_extended_info: temporalio.api.workflow.v1.message_pb2.WorkflowExecutionExtendedInfo
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "execution_config",
            b"execution_config",
            "pending_workflow_task",
            b"pending_workflow_task",
            "workflow_execution_info",
            b"workflow_execution_info",
            "workflow_extended_info",
            b"workflow_extended_info",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "callbacks",
            b"callbacks",
            "execution_config",
            b"execution_config",
            "pending_activities",
            b"pending_activities",
            "pending_children",
            b"pending_children",
            "pending_nexus_operations",
            b"pending_nexus_operations",
            "pending_workflow_task",
            b"pending_workflow_task",
            "workflow_execution_info",
            b"workflow_execution_info",
            "workflow_extended_info",
            b"workflow_extended_info",
        ],
    ) -> None: ...

global___DescribeWorkflowExecutionResponse = DescribeWorkflowExecutionResponse

class DescribeTaskQueueRequest(google.protobuf.message.Message):
    """(-- api-linter: core::0203::optional=disabled
    aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --)
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_TYPE_FIELD_NUMBER: builtins.int
    REPORT_STATS_FIELD_NUMBER: builtins.int
    REPORT_CONFIG_FIELD_NUMBER: builtins.int
    INCLUDE_TASK_QUEUE_STATUS_FIELD_NUMBER: builtins.int
    API_MODE_FIELD_NUMBER: builtins.int
    VERSIONS_FIELD_NUMBER: builtins.int
    TASK_QUEUE_TYPES_FIELD_NUMBER: builtins.int
    REPORT_POLLERS_FIELD_NUMBER: builtins.int
    REPORT_TASK_REACHABILITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def task_queue(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueue:
        """Sticky queues are not supported in deprecated ENHANCED mode."""
    task_queue_type: temporalio.api.enums.v1.task_queue_pb2.TaskQueueType.ValueType
    """If unspecified (TASK_QUEUE_TYPE_UNSPECIFIED), then default value (TASK_QUEUE_TYPE_WORKFLOW) will be used.
    Only supported in default mode (use `task_queue_types` in ENHANCED mode instead).
    """
    report_stats: builtins.bool
    """Report stats for the requested task queue type(s)."""
    report_config: builtins.bool
    """Report Task Queue Config"""
    include_task_queue_status: builtins.bool
    """Deprecated, use `report_stats` instead.
    If true, the task queue status will be included in the response.
    """
    api_mode: temporalio.api.enums.v1.task_queue_pb2.DescribeTaskQueueMode.ValueType
    """Deprecated. ENHANCED mode is also being deprecated.
    Select the API mode to use for this request: DEFAULT mode (if unset) or ENHANCED mode.
    Consult the documentation for each field to understand which mode it is supported in.
    """
    @property
    def versions(
        self,
    ) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueVersionSelection:
        """Deprecated (as part of the ENHANCED mode deprecation).
        Optional. If not provided, the result for the default Build ID will be returned. The default Build ID is the one
        mentioned in the first unconditional Assignment Rule. If there is no default Build ID, the result for the
        unversioned queue will be returned.
        (-- api-linter: core::0140::prepositions --)
        """
    @property
    def task_queue_types(
        self,
    ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        temporalio.api.enums.v1.task_queue_pb2.TaskQueueType.ValueType
    ]:
        """Deprecated (as part of the ENHANCED mode deprecation).
        Task queue types to report info about. If not specified, all types are considered.
        """
    report_pollers: builtins.bool
    """Deprecated (as part of the ENHANCED mode deprecation).
    Report list of pollers for requested task queue types and versions.
    """
    report_task_reachability: builtins.bool
    """Deprecated (as part of the ENHANCED mode deprecation).
    Report task reachability for the requested versions and all task types (task reachability is not reported
    per task type).
    """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        task_queue: temporalio.api.taskqueue.v1.message_pb2.TaskQueue | None = ...,
        task_queue_type: temporalio.api.enums.v1.task_queue_pb2.TaskQueueType.ValueType = ...,
        report_stats: builtins.bool = ...,
        report_config: builtins.bool = ...,
        include_task_queue_status: builtins.bool = ...,
        api_mode: temporalio.api.enums.v1.task_queue_pb2.DescribeTaskQueueMode.ValueType = ...,
        versions: temporalio.api.taskqueue.v1.message_pb2.TaskQueueVersionSelection
        | None = ...,
        task_queue_types: collections.abc.Iterable[
            temporalio.api.enums.v1.task_queue_pb2.TaskQueueType.ValueType
        ]
        | None = ...,
        report_pollers: builtins.bool = ...,
        report_task_reachability: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "task_queue", b"task_queue", "versions", b"versions"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "api_mode",
            b"api_mode",
            "include_task_queue_status",
            b"include_task_queue_status",
            "namespace",
            b"namespace",
            "report_config",
            b"report_config",
            "report_pollers",
            b"report_pollers",
            "report_stats",
            b"report_stats",
            "report_task_reachability",
            b"report_task_reachability",
            "task_queue",
            b"task_queue",
            "task_queue_type",
            b"task_queue_type",
            "task_queue_types",
            b"task_queue_types",
            "versions",
            b"versions",
        ],
    ) -> None: ...

global___DescribeTaskQueueRequest = DescribeTaskQueueRequest

class DescribeTaskQueueResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class StatsByPriorityKeyEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.int
        @property
        def value(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats: ...
        def __init__(
            self,
            *,
            key: builtins.int = ...,
            value: temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["value", b"value"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal["key", b"key", "value", b"value"],
        ) -> None: ...

    class EffectiveRateLimit(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        REQUESTS_PER_SECOND_FIELD_NUMBER: builtins.int
        RATE_LIMIT_SOURCE_FIELD_NUMBER: builtins.int
        requests_per_second: builtins.float
        """The effective rate limit for the task queue."""
        rate_limit_source: (
            temporalio.api.enums.v1.task_queue_pb2.RateLimitSource.ValueType
        )
        """Source of the RateLimit Configuration,which can be one of the following values:
        - SOURCE_API: The rate limit that is set via the TaskQueueConfig api.
        - SOURCE_WORKER: The rate limit is the value set using the workerOptions in TaskQueueActivitiesPerSecond.
        - SOURCE_SYSTEM: The rate limit is the default value set by the system
        """
        def __init__(
            self,
            *,
            requests_per_second: builtins.float = ...,
            rate_limit_source: temporalio.api.enums.v1.task_queue_pb2.RateLimitSource.ValueType = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "rate_limit_source",
                b"rate_limit_source",
                "requests_per_second",
                b"requests_per_second",
            ],
        ) -> None: ...

    class VersionsInfoEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(
            self,
        ) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueVersionInfo: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: temporalio.api.taskqueue.v1.message_pb2.TaskQueueVersionInfo
            | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["value", b"value"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal["key", b"key", "value", b"value"],
        ) -> None: ...

    POLLERS_FIELD_NUMBER: builtins.int
    STATS_FIELD_NUMBER: builtins.int
    STATS_BY_PRIORITY_KEY_FIELD_NUMBER: builtins.int
    VERSIONING_INFO_FIELD_NUMBER: builtins.int
    CONFIG_FIELD_NUMBER: builtins.int
    EFFECTIVE_RATE_LIMIT_FIELD_NUMBER: builtins.int
    TASK_QUEUE_STATUS_FIELD_NUMBER: builtins.int
    VERSIONS_INFO_FIELD_NUMBER: builtins.int
    @property
    def pollers(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.taskqueue.v1.message_pb2.PollerInfo
    ]: ...
    @property
    def stats(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats:
        """Statistics for the task queue.
        Only set if `report_stats` is set on the request.
        """
    @property
    def stats_by_priority_key(
        self,
    ) -> google.protobuf.internal.containers.MessageMap[
        builtins.int, temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats
    ]:
        """Task queue stats breakdown by priority key. Only contains actively used priority keys.
        Only set if `report_stats` is set on the request.
        (-- api-linter: core::0140::prepositions=disabled
            aip.dev/not-precedent: "by" is used to clarify the keys and values. --)
        """
    @property
    def versioning_info(
        self,
    ) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueVersioningInfo:
        """Specifies which Worker Deployment Version(s) Server routes this Task Queue's tasks to.
        When not present, it means the tasks are routed to Unversioned workers (workers with
        UNVERSIONED or unspecified WorkerVersioningMode.)
        Task Queue Versioning info is updated indirectly by calling SetWorkerDeploymentCurrentVersion
        and SetWorkerDeploymentRampingVersion on Worker Deployments.
        Note: This information is not relevant to Pinned workflow executions and their activities as
        they are always routed to their Pinned Deployment Version. However, new workflow executions
        are typically not Pinned until they complete their first task (unless they are started with
        a Pinned VersioningOverride or are Child Workflows of a Pinned parent).
        """
    @property
    def config(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueConfig:
        """Only populated if report_task_queue_config is set to true."""
    @property
    def effective_rate_limit(
        self,
    ) -> global___DescribeTaskQueueResponse.EffectiveRateLimit: ...
    @property
    def task_queue_status(
        self,
    ) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueStatus:
        """Deprecated.
        Status of the task queue. Only populated when `include_task_queue_status` is set to true in the request.
        """
    @property
    def versions_info(
        self,
    ) -> google.protobuf.internal.containers.MessageMap[
        builtins.str, temporalio.api.taskqueue.v1.message_pb2.TaskQueueVersionInfo
    ]:
        """Deprecated.
        Only returned in ENHANCED mode.
        This map contains Task Queue information for each Build ID. Empty string as key value means unversioned.
        """
    def __init__(
        self,
        *,
        pollers: collections.abc.Iterable[
            temporalio.api.taskqueue.v1.message_pb2.PollerInfo
        ]
        | None = ...,
        stats: temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats | None = ...,
        stats_by_priority_key: collections.abc.Mapping[
            builtins.int, temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats
        ]
        | None = ...,
        versioning_info: temporalio.api.taskqueue.v1.message_pb2.TaskQueueVersioningInfo
        | None = ...,
        config: temporalio.api.taskqueue.v1.message_pb2.TaskQueueConfig | None = ...,
        effective_rate_limit: global___DescribeTaskQueueResponse.EffectiveRateLimit
        | None = ...,
        task_queue_status: temporalio.api.taskqueue.v1.message_pb2.TaskQueueStatus
        | None = ...,
        versions_info: collections.abc.Mapping[
            builtins.str, temporalio.api.taskqueue.v1.message_pb2.TaskQueueVersionInfo
        ]
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "config",
            b"config",
            "effective_rate_limit",
            b"effective_rate_limit",
            "stats",
            b"stats",
            "task_queue_status",
            b"task_queue_status",
            "versioning_info",
            b"versioning_info",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "config",
            b"config",
            "effective_rate_limit",
            b"effective_rate_limit",
            "pollers",
            b"pollers",
            "stats",
            b"stats",
            "stats_by_priority_key",
            b"stats_by_priority_key",
            "task_queue_status",
            b"task_queue_status",
            "versioning_info",
            b"versioning_info",
            "versions_info",
            b"versions_info",
        ],
    ) -> None: ...

global___DescribeTaskQueueResponse = DescribeTaskQueueResponse

class GetClusterInfoRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetClusterInfoRequest = GetClusterInfoRequest

class GetClusterInfoResponse(google.protobuf.message.Message):
    """GetClusterInfoResponse contains information about Temporal cluster."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class SupportedClientsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal["key", b"key", "value", b"value"],
        ) -> None: ...

    SUPPORTED_CLIENTS_FIELD_NUMBER: builtins.int
    SERVER_VERSION_FIELD_NUMBER: builtins.int
    CLUSTER_ID_FIELD_NUMBER: builtins.int
    VERSION_INFO_FIELD_NUMBER: builtins.int
    CLUSTER_NAME_FIELD_NUMBER: builtins.int
    HISTORY_SHARD_COUNT_FIELD_NUMBER: builtins.int
    PERSISTENCE_STORE_FIELD_NUMBER: builtins.int
    VISIBILITY_STORE_FIELD_NUMBER: builtins.int
    INITIAL_FAILOVER_VERSION_FIELD_NUMBER: builtins.int
    FAILOVER_VERSION_INCREMENT_FIELD_NUMBER: builtins.int
    @property
    def supported_clients(
        self,
    ) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """Key is client name i.e "temporal-go", "temporal-java", or "temporal-cli".
        Value is ranges of supported versions of this client i.e ">1.1.1 <=1.4.0 || ^5.0.0".
        """
    server_version: builtins.str
    cluster_id: builtins.str
    @property
    def version_info(self) -> temporalio.api.version.v1.message_pb2.VersionInfo: ...
    cluster_name: builtins.str
    history_shard_count: builtins.int
    persistence_store: builtins.str
    visibility_store: builtins.str
    initial_failover_version: builtins.int
    failover_version_increment: builtins.int
    def __init__(
        self,
        *,
        supported_clients: collections.abc.Mapping[builtins.str, builtins.str]
        | None = ...,
        server_version: builtins.str = ...,
        cluster_id: builtins.str = ...,
        version_info: temporalio.api.version.v1.message_pb2.VersionInfo | None = ...,
        cluster_name: builtins.str = ...,
        history_shard_count: builtins.int = ...,
        persistence_store: builtins.str = ...,
        visibility_store: builtins.str = ...,
        initial_failover_version: builtins.int = ...,
        failover_version_increment: builtins.int = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["version_info", b"version_info"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "cluster_id",
            b"cluster_id",
            "cluster_name",
            b"cluster_name",
            "failover_version_increment",
            b"failover_version_increment",
            "history_shard_count",
            b"history_shard_count",
            "initial_failover_version",
            b"initial_failover_version",
            "persistence_store",
            b"persistence_store",
            "server_version",
            b"server_version",
            "supported_clients",
            b"supported_clients",
            "version_info",
            b"version_info",
            "visibility_store",
            b"visibility_store",
        ],
    ) -> None: ...

global___GetClusterInfoResponse = GetClusterInfoResponse

class GetSystemInfoRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetSystemInfoRequest = GetSystemInfoRequest

class GetSystemInfoResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class Capabilities(google.protobuf.message.Message):
        """System capability details."""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        SIGNAL_AND_QUERY_HEADER_FIELD_NUMBER: builtins.int
        INTERNAL_ERROR_DIFFERENTIATION_FIELD_NUMBER: builtins.int
        ACTIVITY_FAILURE_INCLUDE_HEARTBEAT_FIELD_NUMBER: builtins.int
        SUPPORTS_SCHEDULES_FIELD_NUMBER: builtins.int
        ENCODED_FAILURE_ATTRIBUTES_FIELD_NUMBER: builtins.int
        BUILD_ID_BASED_VERSIONING_FIELD_NUMBER: builtins.int
        UPSERT_MEMO_FIELD_NUMBER: builtins.int
        EAGER_WORKFLOW_START_FIELD_NUMBER: builtins.int
        SDK_METADATA_FIELD_NUMBER: builtins.int
        COUNT_GROUP_BY_EXECUTION_STATUS_FIELD_NUMBER: builtins.int
        NEXUS_FIELD_NUMBER: builtins.int
        signal_and_query_header: builtins.bool
        """True if signal and query headers are supported."""
        internal_error_differentiation: builtins.bool
        """True if internal errors are differentiated from other types of errors for purposes of
        retrying non-internal errors.

        When unset/false, clients retry all failures. When true, clients should only retry
        non-internal errors.
        """
        activity_failure_include_heartbeat: builtins.bool
        """True if RespondActivityTaskFailed API supports including heartbeat details"""
        supports_schedules: builtins.bool
        """Supports scheduled workflow features."""
        encoded_failure_attributes: builtins.bool
        """True if server uses protos that include temporalio.api.failure.v1.Failure.encoded_attributes"""
        build_id_based_versioning: builtins.bool
        """True if server supports dispatching Workflow and Activity tasks based on a worker's build_id
        (see:
        https://github.com/temporalio/proposals/blob/a123af3b559f43db16ea6dd31870bfb754c4dc5e/versioning/worker-versions.md)
        """
        upsert_memo: builtins.bool
        """True if server supports upserting workflow memo"""
        eager_workflow_start: builtins.bool
        """True if server supports eager workflow task dispatching for the StartWorkflowExecution API"""
        sdk_metadata: builtins.bool
        """True if the server knows about the sdk metadata field on WFT completions and will record
        it in history
        """
        count_group_by_execution_status: builtins.bool
        """True if the server supports count group by execution status
        (-- api-linter: core::0140::prepositions=disabled --)
        """
        nexus: builtins.bool
        """True if the server supports Nexus operations.
        This flag is dependent both on server version and for Nexus to be enabled via server configuration.
        """
        def __init__(
            self,
            *,
            signal_and_query_header: builtins.bool = ...,
            internal_error_differentiation: builtins.bool = ...,
            activity_failure_include_heartbeat: builtins.bool = ...,
            supports_schedules: builtins.bool = ...,
            encoded_failure_attributes: builtins.bool = ...,
            build_id_based_versioning: builtins.bool = ...,
            upsert_memo: builtins.bool = ...,
            eager_workflow_start: builtins.bool = ...,
            sdk_metadata: builtins.bool = ...,
            count_group_by_execution_status: builtins.bool = ...,
            nexus: builtins.bool = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "activity_failure_include_heartbeat",
                b"activity_failure_include_heartbeat",
                "build_id_based_versioning",
                b"build_id_based_versioning",
                "count_group_by_execution_status",
                b"count_group_by_execution_status",
                "eager_workflow_start",
                b"eager_workflow_start",
                "encoded_failure_attributes",
                b"encoded_failure_attributes",
                "internal_error_differentiation",
                b"internal_error_differentiation",
                "nexus",
                b"nexus",
                "sdk_metadata",
                b"sdk_metadata",
                "signal_and_query_header",
                b"signal_and_query_header",
                "supports_schedules",
                b"supports_schedules",
                "upsert_memo",
                b"upsert_memo",
            ],
        ) -> None: ...

    SERVER_VERSION_FIELD_NUMBER: builtins.int
    CAPABILITIES_FIELD_NUMBER: builtins.int
    server_version: builtins.str
    """Version of the server."""
    @property
    def capabilities(self) -> global___GetSystemInfoResponse.Capabilities:
        """All capabilities the system supports."""
    def __init__(
        self,
        *,
        server_version: builtins.str = ...,
        capabilities: global___GetSystemInfoResponse.Capabilities | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["capabilities", b"capabilities"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "capabilities", b"capabilities", "server_version", b"server_version"
        ],
    ) -> None: ...

global___GetSystemInfoResponse = GetSystemInfoResponse

class ListTaskQueuePartitionsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def task_queue(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueue: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        task_queue: temporalio.api.taskqueue.v1.message_pb2.TaskQueue | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["task_queue", b"task_queue"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "task_queue", b"task_queue"
        ],
    ) -> None: ...

global___ListTaskQueuePartitionsRequest = ListTaskQueuePartitionsRequest

class ListTaskQueuePartitionsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACTIVITY_TASK_QUEUE_PARTITIONS_FIELD_NUMBER: builtins.int
    WORKFLOW_TASK_QUEUE_PARTITIONS_FIELD_NUMBER: builtins.int
    @property
    def activity_task_queue_partitions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.taskqueue.v1.message_pb2.TaskQueuePartitionMetadata
    ]: ...
    @property
    def workflow_task_queue_partitions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.taskqueue.v1.message_pb2.TaskQueuePartitionMetadata
    ]: ...
    def __init__(
        self,
        *,
        activity_task_queue_partitions: collections.abc.Iterable[
            temporalio.api.taskqueue.v1.message_pb2.TaskQueuePartitionMetadata
        ]
        | None = ...,
        workflow_task_queue_partitions: collections.abc.Iterable[
            temporalio.api.taskqueue.v1.message_pb2.TaskQueuePartitionMetadata
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity_task_queue_partitions",
            b"activity_task_queue_partitions",
            "workflow_task_queue_partitions",
            b"workflow_task_queue_partitions",
        ],
    ) -> None: ...

global___ListTaskQueuePartitionsResponse = ListTaskQueuePartitionsResponse

class CreateScheduleRequest(google.protobuf.message.Message):
    """(-- api-linter: core::0203::optional=disabled
    aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --)
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    SCHEDULE_ID_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    INITIAL_PATCH_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    MEMO_FIELD_NUMBER: builtins.int
    SEARCH_ATTRIBUTES_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace the schedule should be created in."""
    schedule_id: builtins.str
    """The id of the new schedule."""
    @property
    def schedule(self) -> temporalio.api.schedule.v1.message_pb2.Schedule:
        """The schedule spec, policies, action, and initial state."""
    @property
    def initial_patch(self) -> temporalio.api.schedule.v1.message_pb2.SchedulePatch:
        """Optional initial patch (e.g. to run the action once immediately)."""
    identity: builtins.str
    """The identity of the client who initiated this request."""
    request_id: builtins.str
    """A unique identifier for this create request for idempotence. Typically UUIDv4."""
    @property
    def memo(self) -> temporalio.api.common.v1.message_pb2.Memo:
        """Memo and search attributes to attach to the schedule itself."""
    @property
    def search_attributes(
        self,
    ) -> temporalio.api.common.v1.message_pb2.SearchAttributes: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        schedule_id: builtins.str = ...,
        schedule: temporalio.api.schedule.v1.message_pb2.Schedule | None = ...,
        initial_patch: temporalio.api.schedule.v1.message_pb2.SchedulePatch
        | None = ...,
        identity: builtins.str = ...,
        request_id: builtins.str = ...,
        memo: temporalio.api.common.v1.message_pb2.Memo | None = ...,
        search_attributes: temporalio.api.common.v1.message_pb2.SearchAttributes
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "initial_patch",
            b"initial_patch",
            "memo",
            b"memo",
            "schedule",
            b"schedule",
            "search_attributes",
            b"search_attributes",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "initial_patch",
            b"initial_patch",
            "memo",
            b"memo",
            "namespace",
            b"namespace",
            "request_id",
            b"request_id",
            "schedule",
            b"schedule",
            "schedule_id",
            b"schedule_id",
            "search_attributes",
            b"search_attributes",
        ],
    ) -> None: ...

global___CreateScheduleRequest = CreateScheduleRequest

class CreateScheduleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    conflict_token: builtins.bytes
    def __init__(
        self,
        *,
        conflict_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["conflict_token", b"conflict_token"]
    ) -> None: ...

global___CreateScheduleResponse = CreateScheduleResponse

class DescribeScheduleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    SCHEDULE_ID_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace of the schedule to describe."""
    schedule_id: builtins.str
    """The id of the schedule to describe."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        schedule_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "schedule_id", b"schedule_id"
        ],
    ) -> None: ...

global___DescribeScheduleRequest = DescribeScheduleRequest

class DescribeScheduleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCHEDULE_FIELD_NUMBER: builtins.int
    INFO_FIELD_NUMBER: builtins.int
    MEMO_FIELD_NUMBER: builtins.int
    SEARCH_ATTRIBUTES_FIELD_NUMBER: builtins.int
    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def schedule(self) -> temporalio.api.schedule.v1.message_pb2.Schedule:
        """The complete current schedule details. This may not match the schedule as
        created because:
        - some types of schedule specs may get compiled into others (e.g.
          CronString into StructuredCalendarSpec)
        - some unspecified fields may be replaced by defaults
        - some fields in the state are modified automatically
        - the schedule may have been modified by UpdateSchedule or PatchSchedule
        """
    @property
    def info(self) -> temporalio.api.schedule.v1.message_pb2.ScheduleInfo:
        """Extra schedule state info."""
    @property
    def memo(self) -> temporalio.api.common.v1.message_pb2.Memo:
        """The memo and search attributes that the schedule was created with."""
    @property
    def search_attributes(
        self,
    ) -> temporalio.api.common.v1.message_pb2.SearchAttributes: ...
    conflict_token: builtins.bytes
    """This value can be passed back to UpdateSchedule to ensure that the
    schedule was not modified between a Describe and an Update, which could
    lead to lost updates and other confusion.
    """
    def __init__(
        self,
        *,
        schedule: temporalio.api.schedule.v1.message_pb2.Schedule | None = ...,
        info: temporalio.api.schedule.v1.message_pb2.ScheduleInfo | None = ...,
        memo: temporalio.api.common.v1.message_pb2.Memo | None = ...,
        search_attributes: temporalio.api.common.v1.message_pb2.SearchAttributes
        | None = ...,
        conflict_token: builtins.bytes = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "info",
            b"info",
            "memo",
            b"memo",
            "schedule",
            b"schedule",
            "search_attributes",
            b"search_attributes",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "conflict_token",
            b"conflict_token",
            "info",
            b"info",
            "memo",
            b"memo",
            "schedule",
            b"schedule",
            "search_attributes",
            b"search_attributes",
        ],
    ) -> None: ...

global___DescribeScheduleResponse = DescribeScheduleResponse

class UpdateScheduleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    SCHEDULE_ID_FIELD_NUMBER: builtins.int
    SCHEDULE_FIELD_NUMBER: builtins.int
    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    SEARCH_ATTRIBUTES_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace of the schedule to update."""
    schedule_id: builtins.str
    """The id of the schedule to update."""
    @property
    def schedule(self) -> temporalio.api.schedule.v1.message_pb2.Schedule:
        """The new schedule. The four main fields of the schedule (spec, action,
        policies, state) are replaced completely by the values in this message.
        """
    conflict_token: builtins.bytes
    """This can be the value of conflict_token from a DescribeScheduleResponse,
    which will cause this request to fail if the schedule has been modified
    between the Describe and this Update.
    If missing, the schedule will be updated unconditionally.
    """
    identity: builtins.str
    """The identity of the client who initiated this request."""
    request_id: builtins.str
    """A unique identifier for this update request for idempotence. Typically UUIDv4."""
    @property
    def search_attributes(
        self,
    ) -> temporalio.api.common.v1.message_pb2.SearchAttributes:
        """Schedule search attributes to be updated.
        Do not set this field if you do not want to update the search attributes.
        A non-null empty object will set the search attributes to an empty map.
        Note: you cannot only update the search attributes with `UpdateScheduleRequest`,
        you must also set the `schedule` field; otherwise, it will unset the schedule.
        """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        schedule_id: builtins.str = ...,
        schedule: temporalio.api.schedule.v1.message_pb2.Schedule | None = ...,
        conflict_token: builtins.bytes = ...,
        identity: builtins.str = ...,
        request_id: builtins.str = ...,
        search_attributes: temporalio.api.common.v1.message_pb2.SearchAttributes
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "schedule", b"schedule", "search_attributes", b"search_attributes"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "conflict_token",
            b"conflict_token",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "request_id",
            b"request_id",
            "schedule",
            b"schedule",
            "schedule_id",
            b"schedule_id",
            "search_attributes",
            b"search_attributes",
        ],
    ) -> None: ...

global___UpdateScheduleRequest = UpdateScheduleRequest

class UpdateScheduleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___UpdateScheduleResponse = UpdateScheduleResponse

class PatchScheduleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    SCHEDULE_ID_FIELD_NUMBER: builtins.int
    PATCH_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace of the schedule to patch."""
    schedule_id: builtins.str
    """The id of the schedule to patch."""
    @property
    def patch(self) -> temporalio.api.schedule.v1.message_pb2.SchedulePatch: ...
    identity: builtins.str
    """The identity of the client who initiated this request."""
    request_id: builtins.str
    """A unique identifier for this update request for idempotence. Typically UUIDv4."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        schedule_id: builtins.str = ...,
        patch: temporalio.api.schedule.v1.message_pb2.SchedulePatch | None = ...,
        identity: builtins.str = ...,
        request_id: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["patch", b"patch"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "patch",
            b"patch",
            "request_id",
            b"request_id",
            "schedule_id",
            b"schedule_id",
        ],
    ) -> None: ...

global___PatchScheduleRequest = PatchScheduleRequest

class PatchScheduleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___PatchScheduleResponse = PatchScheduleResponse

class ListScheduleMatchingTimesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    SCHEDULE_ID_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    END_TIME_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace of the schedule to query."""
    schedule_id: builtins.str
    """The id of the schedule to query."""
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Time range to query."""
    @property
    def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        schedule_id: builtins.str = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "end_time", b"end_time", "start_time", b"start_time"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "end_time",
            b"end_time",
            "namespace",
            b"namespace",
            "schedule_id",
            b"schedule_id",
            "start_time",
            b"start_time",
        ],
    ) -> None: ...

global___ListScheduleMatchingTimesRequest = ListScheduleMatchingTimesRequest

class ListScheduleMatchingTimesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    START_TIME_FIELD_NUMBER: builtins.int
    @property
    def start_time(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        google.protobuf.timestamp_pb2.Timestamp
    ]: ...
    def __init__(
        self,
        *,
        start_time: collections.abc.Iterable[google.protobuf.timestamp_pb2.Timestamp]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["start_time", b"start_time"]
    ) -> None: ...

global___ListScheduleMatchingTimesResponse = ListScheduleMatchingTimesResponse

class DeleteScheduleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    SCHEDULE_ID_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace of the schedule to delete."""
    schedule_id: builtins.str
    """The id of the schedule to delete."""
    identity: builtins.str
    """The identity of the client who initiated this request."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        schedule_id: builtins.str = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "schedule_id",
            b"schedule_id",
        ],
    ) -> None: ...

global___DeleteScheduleRequest = DeleteScheduleRequest

class DeleteScheduleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___DeleteScheduleResponse = DeleteScheduleResponse

class ListSchedulesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    MAXIMUM_PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    QUERY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace to list schedules in."""
    maximum_page_size: builtins.int
    """How many to return at once."""
    next_page_token: builtins.bytes
    """Token to get the next page of results."""
    query: builtins.str
    """Query to filter schedules."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        maximum_page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        query: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "maximum_page_size",
            b"maximum_page_size",
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "query",
            b"query",
        ],
    ) -> None: ...

global___ListSchedulesRequest = ListSchedulesRequest

class ListSchedulesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SCHEDULES_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def schedules(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.schedule.v1.message_pb2.ScheduleListEntry
    ]: ...
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        schedules: collections.abc.Iterable[
            temporalio.api.schedule.v1.message_pb2.ScheduleListEntry
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "next_page_token", b"next_page_token", "schedules", b"schedules"
        ],
    ) -> None: ...

global___ListSchedulesResponse = ListSchedulesResponse

class UpdateWorkerBuildIdCompatibilityRequest(google.protobuf.message.Message):
    """[cleanup-wv-pre-release]"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class AddNewCompatibleVersion(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        NEW_BUILD_ID_FIELD_NUMBER: builtins.int
        EXISTING_COMPATIBLE_BUILD_ID_FIELD_NUMBER: builtins.int
        MAKE_SET_DEFAULT_FIELD_NUMBER: builtins.int
        new_build_id: builtins.str
        """A new id to be added to an existing compatible set."""
        existing_compatible_build_id: builtins.str
        """A build id which must already exist in the version sets known by the task queue. The new
        id will be stored in the set containing this id, marking it as compatible with
        the versions within.
        """
        make_set_default: builtins.bool
        """When set, establishes the compatible set being targeted as the overall default for the
        queue. If a different set was the current default, the targeted set will replace it as
        the new default.
        """
        def __init__(
            self,
            *,
            new_build_id: builtins.str = ...,
            existing_compatible_build_id: builtins.str = ...,
            make_set_default: builtins.bool = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "existing_compatible_build_id",
                b"existing_compatible_build_id",
                "make_set_default",
                b"make_set_default",
                "new_build_id",
                b"new_build_id",
            ],
        ) -> None: ...

    class MergeSets(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        PRIMARY_SET_BUILD_ID_FIELD_NUMBER: builtins.int
        SECONDARY_SET_BUILD_ID_FIELD_NUMBER: builtins.int
        primary_set_build_id: builtins.str
        """A build ID in the set whose default will become the merged set default"""
        secondary_set_build_id: builtins.str
        """A build ID in the set which will be merged into the primary set"""
        def __init__(
            self,
            *,
            primary_set_build_id: builtins.str = ...,
            secondary_set_build_id: builtins.str = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "primary_set_build_id",
                b"primary_set_build_id",
                "secondary_set_build_id",
                b"secondary_set_build_id",
            ],
        ) -> None: ...

    NAMESPACE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    ADD_NEW_BUILD_ID_IN_NEW_DEFAULT_SET_FIELD_NUMBER: builtins.int
    ADD_NEW_COMPATIBLE_BUILD_ID_FIELD_NUMBER: builtins.int
    PROMOTE_SET_BY_BUILD_ID_FIELD_NUMBER: builtins.int
    PROMOTE_BUILD_ID_WITHIN_SET_FIELD_NUMBER: builtins.int
    MERGE_SETS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    task_queue: builtins.str
    """Must be set, the task queue to apply changes to. Because all workers on a given task queue
    must have the same set of workflow & activity implementations, there is no reason to specify
    a task queue type here.
    """
    add_new_build_id_in_new_default_set: builtins.str
    """A new build id. This operation will create a new set which will be the new overall
    default version for the queue, with this id as its only member. This new set is
    incompatible with all previous sets/versions.

    (-- api-linter: core::0140::prepositions=disabled
        aip.dev/not-precedent: In makes perfect sense here. --)
    """
    @property
    def add_new_compatible_build_id(
        self,
    ) -> global___UpdateWorkerBuildIdCompatibilityRequest.AddNewCompatibleVersion:
        """Adds a new id to an existing compatible set, see sub-message definition for more."""
    promote_set_by_build_id: builtins.str
    """Promote an existing set to be the current default (if it isn't already) by targeting
    an existing build id within it. This field's value is the extant build id.

    (-- api-linter: core::0140::prepositions=disabled
        aip.dev/not-precedent: Names are hard. --)
    """
    promote_build_id_within_set: builtins.str
    """Promote an existing build id within some set to be the current default for that set.

    (-- api-linter: core::0140::prepositions=disabled
        aip.dev/not-precedent: Within makes perfect sense here. --)
    """
    @property
    def merge_sets(self) -> global___UpdateWorkerBuildIdCompatibilityRequest.MergeSets:
        """Merge two existing sets together, thus declaring all build IDs in both sets compatible
        with one another. The primary set's default will become the default for the merged set.
        This is useful if you've accidentally declared a new ID as incompatible you meant to
        declare as compatible. The unusual case of incomplete replication during failover could
        also result in a split set, which this operation can repair.
        """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        task_queue: builtins.str = ...,
        add_new_build_id_in_new_default_set: builtins.str = ...,
        add_new_compatible_build_id: global___UpdateWorkerBuildIdCompatibilityRequest.AddNewCompatibleVersion
        | None = ...,
        promote_set_by_build_id: builtins.str = ...,
        promote_build_id_within_set: builtins.str = ...,
        merge_sets: global___UpdateWorkerBuildIdCompatibilityRequest.MergeSets
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "add_new_build_id_in_new_default_set",
            b"add_new_build_id_in_new_default_set",
            "add_new_compatible_build_id",
            b"add_new_compatible_build_id",
            "merge_sets",
            b"merge_sets",
            "operation",
            b"operation",
            "promote_build_id_within_set",
            b"promote_build_id_within_set",
            "promote_set_by_build_id",
            b"promote_set_by_build_id",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "add_new_build_id_in_new_default_set",
            b"add_new_build_id_in_new_default_set",
            "add_new_compatible_build_id",
            b"add_new_compatible_build_id",
            "merge_sets",
            b"merge_sets",
            "namespace",
            b"namespace",
            "operation",
            b"operation",
            "promote_build_id_within_set",
            b"promote_build_id_within_set",
            "promote_set_by_build_id",
            b"promote_set_by_build_id",
            "task_queue",
            b"task_queue",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["operation", b"operation"]
    ) -> (
        typing_extensions.Literal[
            "add_new_build_id_in_new_default_set",
            "add_new_compatible_build_id",
            "promote_set_by_build_id",
            "promote_build_id_within_set",
            "merge_sets",
        ]
        | None
    ): ...

global___UpdateWorkerBuildIdCompatibilityRequest = (
    UpdateWorkerBuildIdCompatibilityRequest
)

class UpdateWorkerBuildIdCompatibilityResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release]"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___UpdateWorkerBuildIdCompatibilityResponse = (
    UpdateWorkerBuildIdCompatibilityResponse
)

class GetWorkerBuildIdCompatibilityRequest(google.protobuf.message.Message):
    """[cleanup-wv-pre-release]"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    MAX_SETS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    task_queue: builtins.str
    """Must be set, the task queue to interrogate about worker id compatibility."""
    max_sets: builtins.int
    """Limits how many compatible sets will be returned. Specify 1 to only return the current
    default major version set. 0 returns all sets.
    """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        task_queue: builtins.str = ...,
        max_sets: builtins.int = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "max_sets",
            b"max_sets",
            "namespace",
            b"namespace",
            "task_queue",
            b"task_queue",
        ],
    ) -> None: ...

global___GetWorkerBuildIdCompatibilityRequest = GetWorkerBuildIdCompatibilityRequest

class GetWorkerBuildIdCompatibilityResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release]"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MAJOR_VERSION_SETS_FIELD_NUMBER: builtins.int
    @property
    def major_version_sets(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.taskqueue.v1.message_pb2.CompatibleVersionSet
    ]:
        """Major version sets, in order from oldest to newest. The last element of the list will always
        be the current default major version. IE: New workflows will target the most recent version
        in that version set.

        There may be fewer sets returned than exist, if the request chose to limit this response.
        """
    def __init__(
        self,
        *,
        major_version_sets: collections.abc.Iterable[
            temporalio.api.taskqueue.v1.message_pb2.CompatibleVersionSet
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "major_version_sets", b"major_version_sets"
        ],
    ) -> None: ...

global___GetWorkerBuildIdCompatibilityResponse = GetWorkerBuildIdCompatibilityResponse

class UpdateWorkerVersioningRulesRequest(google.protobuf.message.Message):
    """(-- api-linter: core::0134::request-mask-required=disabled
        aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --)
    (-- api-linter: core::0134::request-resource-required=disabled
        aip.dev/not-precedent: GetWorkerBuildIdCompatibilityRequest RPC doesn't follow Google API format. --)
    [cleanup-wv-pre-release]
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class InsertBuildIdAssignmentRule(google.protobuf.message.Message):
        """Inserts the rule to the list of assignment rules for this Task Queue.
        The rules are evaluated in order, starting from index 0. The first
        applicable rule will be applied and the rest will be ignored.
        """

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        RULE_INDEX_FIELD_NUMBER: builtins.int
        RULE_FIELD_NUMBER: builtins.int
        rule_index: builtins.int
        """Use this option to insert the rule in a particular index. By
        default, the new rule is inserted at the beginning of the list
        (index 0). If the given index is too larger the rule will be
        inserted at the end of the list.
        """
        @property
        def rule(
            self,
        ) -> temporalio.api.taskqueue.v1.message_pb2.BuildIdAssignmentRule: ...
        def __init__(
            self,
            *,
            rule_index: builtins.int = ...,
            rule: temporalio.api.taskqueue.v1.message_pb2.BuildIdAssignmentRule
            | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["rule", b"rule"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "rule", b"rule", "rule_index", b"rule_index"
            ],
        ) -> None: ...

    class ReplaceBuildIdAssignmentRule(google.protobuf.message.Message):
        """Replaces the assignment rule at a given index."""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        RULE_INDEX_FIELD_NUMBER: builtins.int
        RULE_FIELD_NUMBER: builtins.int
        FORCE_FIELD_NUMBER: builtins.int
        rule_index: builtins.int
        @property
        def rule(
            self,
        ) -> temporalio.api.taskqueue.v1.message_pb2.BuildIdAssignmentRule: ...
        force: builtins.bool
        """By default presence of one unconditional rule is enforced, otherwise
        the replace operation will be rejected. Set `force` to true to
        bypass this validation. An unconditional assignment rule:
          - Has no hint filter
          - Has no ramp
        """
        def __init__(
            self,
            *,
            rule_index: builtins.int = ...,
            rule: temporalio.api.taskqueue.v1.message_pb2.BuildIdAssignmentRule
            | None = ...,
            force: builtins.bool = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["rule", b"rule"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "force", b"force", "rule", b"rule", "rule_index", b"rule_index"
            ],
        ) -> None: ...

    class DeleteBuildIdAssignmentRule(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        RULE_INDEX_FIELD_NUMBER: builtins.int
        FORCE_FIELD_NUMBER: builtins.int
        rule_index: builtins.int
        force: builtins.bool
        """By default presence of one unconditional rule is enforced, otherwise
        the delete operation will be rejected. Set `force` to true to
        bypass this validation. An unconditional assignment rule:
          - Has no hint filter
          - Has no ramp
        """
        def __init__(
            self,
            *,
            rule_index: builtins.int = ...,
            force: builtins.bool = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "force", b"force", "rule_index", b"rule_index"
            ],
        ) -> None: ...

    class AddCompatibleBuildIdRedirectRule(google.protobuf.message.Message):
        """Adds the rule to the list of redirect rules for this Task Queue. There
        can be at most one redirect rule for each distinct Source Build ID.
        """

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        RULE_FIELD_NUMBER: builtins.int
        @property
        def rule(
            self,
        ) -> temporalio.api.taskqueue.v1.message_pb2.CompatibleBuildIdRedirectRule: ...
        def __init__(
            self,
            *,
            rule: temporalio.api.taskqueue.v1.message_pb2.CompatibleBuildIdRedirectRule
            | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["rule", b"rule"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing_extensions.Literal["rule", b"rule"]
        ) -> None: ...

    class ReplaceCompatibleBuildIdRedirectRule(google.protobuf.message.Message):
        """Replaces the routing rule with the given source Build ID."""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        RULE_FIELD_NUMBER: builtins.int
        @property
        def rule(
            self,
        ) -> temporalio.api.taskqueue.v1.message_pb2.CompatibleBuildIdRedirectRule: ...
        def __init__(
            self,
            *,
            rule: temporalio.api.taskqueue.v1.message_pb2.CompatibleBuildIdRedirectRule
            | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["rule", b"rule"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing_extensions.Literal["rule", b"rule"]
        ) -> None: ...

    class DeleteCompatibleBuildIdRedirectRule(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        SOURCE_BUILD_ID_FIELD_NUMBER: builtins.int
        source_build_id: builtins.str
        def __init__(
            self,
            *,
            source_build_id: builtins.str = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "source_build_id", b"source_build_id"
            ],
        ) -> None: ...

    class CommitBuildId(google.protobuf.message.Message):
        """This command is intended to be used to complete the rollout of a Build
        ID and cleanup unnecessary rules possibly created during a gradual
        rollout. Specifically, this command will make the following changes
        atomically:
         1. Adds an assignment rule (with full ramp) for the target Build ID at
            the end of the list.
         2. Removes all previously added assignment rules to the given target
            Build ID (if any).
         3. Removes any fully-ramped assignment rule for other Build IDs.
        """

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        TARGET_BUILD_ID_FIELD_NUMBER: builtins.int
        FORCE_FIELD_NUMBER: builtins.int
        target_build_id: builtins.str
        force: builtins.bool
        """To prevent committing invalid Build IDs, we reject the request if no
        pollers has been seen recently for this Build ID. Use the `force`
        option to disable this validation.
        """
        def __init__(
            self,
            *,
            target_build_id: builtins.str = ...,
            force: builtins.bool = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "force", b"force", "target_build_id", b"target_build_id"
            ],
        ) -> None: ...

    NAMESPACE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    INSERT_ASSIGNMENT_RULE_FIELD_NUMBER: builtins.int
    REPLACE_ASSIGNMENT_RULE_FIELD_NUMBER: builtins.int
    DELETE_ASSIGNMENT_RULE_FIELD_NUMBER: builtins.int
    ADD_COMPATIBLE_REDIRECT_RULE_FIELD_NUMBER: builtins.int
    REPLACE_COMPATIBLE_REDIRECT_RULE_FIELD_NUMBER: builtins.int
    DELETE_COMPATIBLE_REDIRECT_RULE_FIELD_NUMBER: builtins.int
    COMMIT_BUILD_ID_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    task_queue: builtins.str
    conflict_token: builtins.bytes
    """A valid conflict_token can be taken from the previous
    ListWorkerVersioningRulesResponse or UpdateWorkerVersioningRulesResponse.
    An invalid token will cause this request to fail, ensuring that if the rules
    for this Task Queue have been modified between the previous and current
    operation, the request will fail instead of causing an unpredictable mutation.
    """
    @property
    def insert_assignment_rule(
        self,
    ) -> global___UpdateWorkerVersioningRulesRequest.InsertBuildIdAssignmentRule: ...
    @property
    def replace_assignment_rule(
        self,
    ) -> global___UpdateWorkerVersioningRulesRequest.ReplaceBuildIdAssignmentRule: ...
    @property
    def delete_assignment_rule(
        self,
    ) -> global___UpdateWorkerVersioningRulesRequest.DeleteBuildIdAssignmentRule: ...
    @property
    def add_compatible_redirect_rule(
        self,
    ) -> (
        global___UpdateWorkerVersioningRulesRequest.AddCompatibleBuildIdRedirectRule
    ): ...
    @property
    def replace_compatible_redirect_rule(
        self,
    ) -> (
        global___UpdateWorkerVersioningRulesRequest.ReplaceCompatibleBuildIdRedirectRule
    ): ...
    @property
    def delete_compatible_redirect_rule(
        self,
    ) -> (
        global___UpdateWorkerVersioningRulesRequest.DeleteCompatibleBuildIdRedirectRule
    ): ...
    @property
    def commit_build_id(
        self,
    ) -> global___UpdateWorkerVersioningRulesRequest.CommitBuildId: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        task_queue: builtins.str = ...,
        conflict_token: builtins.bytes = ...,
        insert_assignment_rule: global___UpdateWorkerVersioningRulesRequest.InsertBuildIdAssignmentRule
        | None = ...,
        replace_assignment_rule: global___UpdateWorkerVersioningRulesRequest.ReplaceBuildIdAssignmentRule
        | None = ...,
        delete_assignment_rule: global___UpdateWorkerVersioningRulesRequest.DeleteBuildIdAssignmentRule
        | None = ...,
        add_compatible_redirect_rule: global___UpdateWorkerVersioningRulesRequest.AddCompatibleBuildIdRedirectRule
        | None = ...,
        replace_compatible_redirect_rule: global___UpdateWorkerVersioningRulesRequest.ReplaceCompatibleBuildIdRedirectRule
        | None = ...,
        delete_compatible_redirect_rule: global___UpdateWorkerVersioningRulesRequest.DeleteCompatibleBuildIdRedirectRule
        | None = ...,
        commit_build_id: global___UpdateWorkerVersioningRulesRequest.CommitBuildId
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "add_compatible_redirect_rule",
            b"add_compatible_redirect_rule",
            "commit_build_id",
            b"commit_build_id",
            "delete_assignment_rule",
            b"delete_assignment_rule",
            "delete_compatible_redirect_rule",
            b"delete_compatible_redirect_rule",
            "insert_assignment_rule",
            b"insert_assignment_rule",
            "operation",
            b"operation",
            "replace_assignment_rule",
            b"replace_assignment_rule",
            "replace_compatible_redirect_rule",
            b"replace_compatible_redirect_rule",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "add_compatible_redirect_rule",
            b"add_compatible_redirect_rule",
            "commit_build_id",
            b"commit_build_id",
            "conflict_token",
            b"conflict_token",
            "delete_assignment_rule",
            b"delete_assignment_rule",
            "delete_compatible_redirect_rule",
            b"delete_compatible_redirect_rule",
            "insert_assignment_rule",
            b"insert_assignment_rule",
            "namespace",
            b"namespace",
            "operation",
            b"operation",
            "replace_assignment_rule",
            b"replace_assignment_rule",
            "replace_compatible_redirect_rule",
            b"replace_compatible_redirect_rule",
            "task_queue",
            b"task_queue",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["operation", b"operation"]
    ) -> (
        typing_extensions.Literal[
            "insert_assignment_rule",
            "replace_assignment_rule",
            "delete_assignment_rule",
            "add_compatible_redirect_rule",
            "replace_compatible_redirect_rule",
            "delete_compatible_redirect_rule",
            "commit_build_id",
        ]
        | None
    ): ...

global___UpdateWorkerVersioningRulesRequest = UpdateWorkerVersioningRulesRequest

class UpdateWorkerVersioningRulesResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release]"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ASSIGNMENT_RULES_FIELD_NUMBER: builtins.int
    COMPATIBLE_REDIRECT_RULES_FIELD_NUMBER: builtins.int
    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def assignment_rules(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.taskqueue.v1.message_pb2.TimestampedBuildIdAssignmentRule
    ]: ...
    @property
    def compatible_redirect_rules(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.taskqueue.v1.message_pb2.TimestampedCompatibleBuildIdRedirectRule
    ]: ...
    conflict_token: builtins.bytes
    """This value can be passed back to UpdateWorkerVersioningRulesRequest to
    ensure that the rules were not modified between the two updates, which
    could lead to lost updates and other confusion.
    """
    def __init__(
        self,
        *,
        assignment_rules: collections.abc.Iterable[
            temporalio.api.taskqueue.v1.message_pb2.TimestampedBuildIdAssignmentRule
        ]
        | None = ...,
        compatible_redirect_rules: collections.abc.Iterable[
            temporalio.api.taskqueue.v1.message_pb2.TimestampedCompatibleBuildIdRedirectRule
        ]
        | None = ...,
        conflict_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "assignment_rules",
            b"assignment_rules",
            "compatible_redirect_rules",
            b"compatible_redirect_rules",
            "conflict_token",
            b"conflict_token",
        ],
    ) -> None: ...

global___UpdateWorkerVersioningRulesResponse = UpdateWorkerVersioningRulesResponse

class GetWorkerVersioningRulesRequest(google.protobuf.message.Message):
    """[cleanup-wv-pre-release]"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    task_queue: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        task_queue: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "task_queue", b"task_queue"
        ],
    ) -> None: ...

global___GetWorkerVersioningRulesRequest = GetWorkerVersioningRulesRequest

class GetWorkerVersioningRulesResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release]"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ASSIGNMENT_RULES_FIELD_NUMBER: builtins.int
    COMPATIBLE_REDIRECT_RULES_FIELD_NUMBER: builtins.int
    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def assignment_rules(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.taskqueue.v1.message_pb2.TimestampedBuildIdAssignmentRule
    ]: ...
    @property
    def compatible_redirect_rules(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.taskqueue.v1.message_pb2.TimestampedCompatibleBuildIdRedirectRule
    ]: ...
    conflict_token: builtins.bytes
    """This value can be passed back to UpdateWorkerVersioningRulesRequest to
    ensure that the rules were not modified between this List and the Update,
    which could lead to lost updates and other confusion.
    """
    def __init__(
        self,
        *,
        assignment_rules: collections.abc.Iterable[
            temporalio.api.taskqueue.v1.message_pb2.TimestampedBuildIdAssignmentRule
        ]
        | None = ...,
        compatible_redirect_rules: collections.abc.Iterable[
            temporalio.api.taskqueue.v1.message_pb2.TimestampedCompatibleBuildIdRedirectRule
        ]
        | None = ...,
        conflict_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "assignment_rules",
            b"assignment_rules",
            "compatible_redirect_rules",
            b"compatible_redirect_rules",
            "conflict_token",
            b"conflict_token",
        ],
    ) -> None: ...

global___GetWorkerVersioningRulesResponse = GetWorkerVersioningRulesResponse

class GetWorkerTaskReachabilityRequest(google.protobuf.message.Message):
    """[cleanup-wv-pre-release]
    Deprecated. Use `DescribeTaskQueue`.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    BUILD_IDS_FIELD_NUMBER: builtins.int
    TASK_QUEUES_FIELD_NUMBER: builtins.int
    REACHABILITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def build_ids(
        self,
    ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Build ids to retrieve reachability for. An empty string will be interpreted as an unversioned worker.
        The number of build ids that can be queried in a single API call is limited.
        Open source users can adjust this limit by setting the server's dynamic config value for
        `limit.reachabilityQueryBuildIds` with the caveat that this call can strain the visibility store.
        """
    @property
    def task_queues(
        self,
    ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Task queues to retrieve reachability for. Leave this empty to query for all task queues associated with given
        build ids in the namespace.
        Must specify at least one task queue if querying for an unversioned worker.
        The number of task queues that the server will fetch reachability information for is limited.
        See the `GetWorkerTaskReachabilityResponse` documentation for more information.
        """
    reachability: temporalio.api.enums.v1.task_queue_pb2.TaskReachability.ValueType
    """Type of reachability to query for.
    `TASK_REACHABILITY_NEW_WORKFLOWS` is always returned in the response.
    Use `TASK_REACHABILITY_EXISTING_WORKFLOWS` if your application needs to respond to queries on closed workflows.
    Otherwise, use `TASK_REACHABILITY_OPEN_WORKFLOWS`. Default is `TASK_REACHABILITY_EXISTING_WORKFLOWS` if left
    unspecified.
    See the TaskReachability docstring for information about each enum variant.
    """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        build_ids: collections.abc.Iterable[builtins.str] | None = ...,
        task_queues: collections.abc.Iterable[builtins.str] | None = ...,
        reachability: temporalio.api.enums.v1.task_queue_pb2.TaskReachability.ValueType = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "build_ids",
            b"build_ids",
            "namespace",
            b"namespace",
            "reachability",
            b"reachability",
            "task_queues",
            b"task_queues",
        ],
    ) -> None: ...

global___GetWorkerTaskReachabilityRequest = GetWorkerTaskReachabilityRequest

class GetWorkerTaskReachabilityResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release]
    Deprecated. Use `DescribeTaskQueue`.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUILD_ID_REACHABILITY_FIELD_NUMBER: builtins.int
    @property
    def build_id_reachability(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.taskqueue.v1.message_pb2.BuildIdReachability
    ]:
        """Task reachability, broken down by build id and then task queue.
        When requesting a large number of task queues or all task queues associated with the given build ids in a
        namespace, all task queues will be listed in the response but some of them may not contain reachability
        information due to a server enforced limit. When reaching the limit, task queues that reachability information
        could not be retrieved for will be marked with a single TASK_REACHABILITY_UNSPECIFIED entry. The caller may issue
        another call to get the reachability for those task queues.

        Open source users can adjust this limit by setting the server's dynamic config value for
        `limit.reachabilityTaskQueueScan` with the caveat that this call can strain the visibility store.
        """
    def __init__(
        self,
        *,
        build_id_reachability: collections.abc.Iterable[
            temporalio.api.taskqueue.v1.message_pb2.BuildIdReachability
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "build_id_reachability", b"build_id_reachability"
        ],
    ) -> None: ...

global___GetWorkerTaskReachabilityResponse = GetWorkerTaskReachabilityResponse

class UpdateWorkflowExecutionRequest(google.protobuf.message.Message):
    """(-- api-linter: core::0134=disabled
    aip.dev/not-precedent: Update RPCs don't follow Google API format. --)
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_FIELD_NUMBER: builtins.int
    FIRST_EXECUTION_RUN_ID_FIELD_NUMBER: builtins.int
    WAIT_POLICY_FIELD_NUMBER: builtins.int
    REQUEST_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace name of the target Workflow."""
    @property
    def workflow_execution(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """The target Workflow Id and (optionally) a specific Run Id thereof.
        (-- api-linter: core::0203::optional=disabled
            aip.dev/not-precedent: false positive triggered by the word "optional" --)
        """
    first_execution_run_id: builtins.str
    """If set, this call will error if the most recent (if no Run Id is set on
    `workflow_execution`), or specified (if it is) Workflow Execution is not
    part of the same execution chain as this Id.
    """
    @property
    def wait_policy(self) -> temporalio.api.update.v1.message_pb2.WaitPolicy:
        """Specifies client's intent to wait for Update results.
        NOTE: This field works together with API call timeout which is limited by
        server timeout (maximum wait time). If server timeout is expired before
        user specified timeout, API call returns even if specified stage is not reached.
        Actual reached stage will be included in the response.
        """
    @property
    def request(self) -> temporalio.api.update.v1.message_pb2.Request:
        """The request information that will be delivered all the way down to the
        Workflow Execution.
        """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_execution: temporalio.api.common.v1.message_pb2.WorkflowExecution
        | None = ...,
        first_execution_run_id: builtins.str = ...,
        wait_policy: temporalio.api.update.v1.message_pb2.WaitPolicy | None = ...,
        request: temporalio.api.update.v1.message_pb2.Request | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "request",
            b"request",
            "wait_policy",
            b"wait_policy",
            "workflow_execution",
            b"workflow_execution",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "first_execution_run_id",
            b"first_execution_run_id",
            "namespace",
            b"namespace",
            "request",
            b"request",
            "wait_policy",
            b"wait_policy",
            "workflow_execution",
            b"workflow_execution",
        ],
    ) -> None: ...

global___UpdateWorkflowExecutionRequest = UpdateWorkflowExecutionRequest

class UpdateWorkflowExecutionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UPDATE_REF_FIELD_NUMBER: builtins.int
    OUTCOME_FIELD_NUMBER: builtins.int
    STAGE_FIELD_NUMBER: builtins.int
    @property
    def update_ref(self) -> temporalio.api.update.v1.message_pb2.UpdateRef:
        """Enough information for subsequent poll calls if needed. Never null."""
    @property
    def outcome(self) -> temporalio.api.update.v1.message_pb2.Outcome:
        """The outcome of the Update if and only if the Workflow Update
        has completed. If this response is being returned before the Update has
        completed then this field will not be set.
        """
    stage: temporalio.api.enums.v1.update_pb2.UpdateWorkflowExecutionLifecycleStage.ValueType
    """The most advanced lifecycle stage that the Update is known to have
    reached, where lifecycle stages are ordered
    UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED <
    UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED <
    UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED <
    UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED.
    UNSPECIFIED will be returned if and only if the server's maximum wait
    time was reached before the Update reached the stage specified in the
    request WaitPolicy, and before the context deadline expired; clients may
    may then retry the call as needed.
    """
    def __init__(
        self,
        *,
        update_ref: temporalio.api.update.v1.message_pb2.UpdateRef | None = ...,
        outcome: temporalio.api.update.v1.message_pb2.Outcome | None = ...,
        stage: temporalio.api.enums.v1.update_pb2.UpdateWorkflowExecutionLifecycleStage.ValueType = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "outcome", b"outcome", "update_ref", b"update_ref"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "outcome", b"outcome", "stage", b"stage", "update_ref", b"update_ref"
        ],
    ) -> None: ...

global___UpdateWorkflowExecutionResponse = UpdateWorkflowExecutionResponse

class StartBatchOperationRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    VISIBILITY_QUERY_FIELD_NUMBER: builtins.int
    JOB_ID_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    EXECUTIONS_FIELD_NUMBER: builtins.int
    MAX_OPERATIONS_PER_SECOND_FIELD_NUMBER: builtins.int
    TERMINATION_OPERATION_FIELD_NUMBER: builtins.int
    SIGNAL_OPERATION_FIELD_NUMBER: builtins.int
    CANCELLATION_OPERATION_FIELD_NUMBER: builtins.int
    DELETION_OPERATION_FIELD_NUMBER: builtins.int
    RESET_OPERATION_FIELD_NUMBER: builtins.int
    UPDATE_WORKFLOW_OPTIONS_OPERATION_FIELD_NUMBER: builtins.int
    UNPAUSE_ACTIVITIES_OPERATION_FIELD_NUMBER: builtins.int
    RESET_ACTIVITIES_OPERATION_FIELD_NUMBER: builtins.int
    UPDATE_ACTIVITY_OPTIONS_OPERATION_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace that contains the batch operation"""
    visibility_query: builtins.str
    """Visibility query defines the the group of workflow to apply the batch operation
    This field and `executions` are mutually exclusive
    """
    job_id: builtins.str
    """Job ID defines the unique ID for the batch job"""
    reason: builtins.str
    """Reason to perform the batch operation"""
    @property
    def executions(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.common.v1.message_pb2.WorkflowExecution
    ]:
        """Executions to apply the batch operation
        This field and `visibility_query` are mutually exclusive
        """
    max_operations_per_second: builtins.float
    """Limit for the number of operations processed per second within this batch.
    Its purpose is to reduce the stress on the system caused by batch operations, which helps to prevent system
    overload and minimize potential delays in executing ongoing tasks for user workers.
    Note that when no explicit limit is provided, the server will operate according to its limit defined by the
    dynamic configuration key `worker.batcherRPS`. This also applies if the value in this field exceeds the
    server's configured limit.
    """
    @property
    def termination_operation(
        self,
    ) -> temporalio.api.batch.v1.message_pb2.BatchOperationTermination: ...
    @property
    def signal_operation(
        self,
    ) -> temporalio.api.batch.v1.message_pb2.BatchOperationSignal: ...
    @property
    def cancellation_operation(
        self,
    ) -> temporalio.api.batch.v1.message_pb2.BatchOperationCancellation: ...
    @property
    def deletion_operation(
        self,
    ) -> temporalio.api.batch.v1.message_pb2.BatchOperationDeletion: ...
    @property
    def reset_operation(
        self,
    ) -> temporalio.api.batch.v1.message_pb2.BatchOperationReset: ...
    @property
    def update_workflow_options_operation(
        self,
    ) -> (
        temporalio.api.batch.v1.message_pb2.BatchOperationUpdateWorkflowExecutionOptions
    ): ...
    @property
    def unpause_activities_operation(
        self,
    ) -> temporalio.api.batch.v1.message_pb2.BatchOperationUnpauseActivities: ...
    @property
    def reset_activities_operation(
        self,
    ) -> temporalio.api.batch.v1.message_pb2.BatchOperationResetActivities: ...
    @property
    def update_activity_options_operation(
        self,
    ) -> temporalio.api.batch.v1.message_pb2.BatchOperationUpdateActivityOptions: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        visibility_query: builtins.str = ...,
        job_id: builtins.str = ...,
        reason: builtins.str = ...,
        executions: collections.abc.Iterable[
            temporalio.api.common.v1.message_pb2.WorkflowExecution
        ]
        | None = ...,
        max_operations_per_second: builtins.float = ...,
        termination_operation: temporalio.api.batch.v1.message_pb2.BatchOperationTermination
        | None = ...,
        signal_operation: temporalio.api.batch.v1.message_pb2.BatchOperationSignal
        | None = ...,
        cancellation_operation: temporalio.api.batch.v1.message_pb2.BatchOperationCancellation
        | None = ...,
        deletion_operation: temporalio.api.batch.v1.message_pb2.BatchOperationDeletion
        | None = ...,
        reset_operation: temporalio.api.batch.v1.message_pb2.BatchOperationReset
        | None = ...,
        update_workflow_options_operation: temporalio.api.batch.v1.message_pb2.BatchOperationUpdateWorkflowExecutionOptions
        | None = ...,
        unpause_activities_operation: temporalio.api.batch.v1.message_pb2.BatchOperationUnpauseActivities
        | None = ...,
        reset_activities_operation: temporalio.api.batch.v1.message_pb2.BatchOperationResetActivities
        | None = ...,
        update_activity_options_operation: temporalio.api.batch.v1.message_pb2.BatchOperationUpdateActivityOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "cancellation_operation",
            b"cancellation_operation",
            "deletion_operation",
            b"deletion_operation",
            "operation",
            b"operation",
            "reset_activities_operation",
            b"reset_activities_operation",
            "reset_operation",
            b"reset_operation",
            "signal_operation",
            b"signal_operation",
            "termination_operation",
            b"termination_operation",
            "unpause_activities_operation",
            b"unpause_activities_operation",
            "update_activity_options_operation",
            b"update_activity_options_operation",
            "update_workflow_options_operation",
            b"update_workflow_options_operation",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "cancellation_operation",
            b"cancellation_operation",
            "deletion_operation",
            b"deletion_operation",
            "executions",
            b"executions",
            "job_id",
            b"job_id",
            "max_operations_per_second",
            b"max_operations_per_second",
            "namespace",
            b"namespace",
            "operation",
            b"operation",
            "reason",
            b"reason",
            "reset_activities_operation",
            b"reset_activities_operation",
            "reset_operation",
            b"reset_operation",
            "signal_operation",
            b"signal_operation",
            "termination_operation",
            b"termination_operation",
            "unpause_activities_operation",
            b"unpause_activities_operation",
            "update_activity_options_operation",
            b"update_activity_options_operation",
            "update_workflow_options_operation",
            b"update_workflow_options_operation",
            "visibility_query",
            b"visibility_query",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["operation", b"operation"]
    ) -> (
        typing_extensions.Literal[
            "termination_operation",
            "signal_operation",
            "cancellation_operation",
            "deletion_operation",
            "reset_operation",
            "update_workflow_options_operation",
            "unpause_activities_operation",
            "reset_activities_operation",
            "update_activity_options_operation",
        ]
        | None
    ): ...

global___StartBatchOperationRequest = StartBatchOperationRequest

class StartBatchOperationResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___StartBatchOperationResponse = StartBatchOperationResponse

class StopBatchOperationRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    JOB_ID_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace that contains the batch operation"""
    job_id: builtins.str
    """Batch job id"""
    reason: builtins.str
    """Reason to stop a batch operation"""
    identity: builtins.str
    """Identity of the operator"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        job_id: builtins.str = ...,
        reason: builtins.str = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "job_id",
            b"job_id",
            "namespace",
            b"namespace",
            "reason",
            b"reason",
        ],
    ) -> None: ...

global___StopBatchOperationRequest = StopBatchOperationRequest

class StopBatchOperationResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___StopBatchOperationResponse = StopBatchOperationResponse

class DescribeBatchOperationRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    JOB_ID_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace that contains the batch operation"""
    job_id: builtins.str
    """Batch job id"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        job_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "job_id", b"job_id", "namespace", b"namespace"
        ],
    ) -> None: ...

global___DescribeBatchOperationRequest = DescribeBatchOperationRequest

class DescribeBatchOperationResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OPERATION_TYPE_FIELD_NUMBER: builtins.int
    JOB_ID_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    CLOSE_TIME_FIELD_NUMBER: builtins.int
    TOTAL_OPERATION_COUNT_FIELD_NUMBER: builtins.int
    COMPLETE_OPERATION_COUNT_FIELD_NUMBER: builtins.int
    FAILURE_OPERATION_COUNT_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    operation_type: (
        temporalio.api.enums.v1.batch_operation_pb2.BatchOperationType.ValueType
    )
    """Batch operation type"""
    job_id: builtins.str
    """Batch job ID"""
    state: temporalio.api.enums.v1.batch_operation_pb2.BatchOperationState.ValueType
    """Batch operation state"""
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Batch operation start time"""
    @property
    def close_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Batch operation close time"""
    total_operation_count: builtins.int
    """Total operation count"""
    complete_operation_count: builtins.int
    """Complete operation count"""
    failure_operation_count: builtins.int
    """Failure operation count"""
    identity: builtins.str
    """Identity indicates the operator identity"""
    reason: builtins.str
    """Reason indicates the reason to stop a operation"""
    def __init__(
        self,
        *,
        operation_type: temporalio.api.enums.v1.batch_operation_pb2.BatchOperationType.ValueType = ...,
        job_id: builtins.str = ...,
        state: temporalio.api.enums.v1.batch_operation_pb2.BatchOperationState.ValueType = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        close_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        total_operation_count: builtins.int = ...,
        complete_operation_count: builtins.int = ...,
        failure_operation_count: builtins.int = ...,
        identity: builtins.str = ...,
        reason: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "close_time", b"close_time", "start_time", b"start_time"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "close_time",
            b"close_time",
            "complete_operation_count",
            b"complete_operation_count",
            "failure_operation_count",
            b"failure_operation_count",
            "identity",
            b"identity",
            "job_id",
            b"job_id",
            "operation_type",
            b"operation_type",
            "reason",
            b"reason",
            "start_time",
            b"start_time",
            "state",
            b"state",
            "total_operation_count",
            b"total_operation_count",
        ],
    ) -> None: ...

global___DescribeBatchOperationResponse = DescribeBatchOperationResponse

class ListBatchOperationsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace that contains the batch operation"""
    page_size: builtins.int
    """List page size"""
    next_page_token: builtins.bytes
    """Next page token"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "page_size",
            b"page_size",
        ],
    ) -> None: ...

global___ListBatchOperationsRequest = ListBatchOperationsRequest

class ListBatchOperationsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OPERATION_INFO_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def operation_info(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.batch.v1.message_pb2.BatchOperationInfo
    ]:
        """BatchOperationInfo contains the basic info about batch operation"""
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        operation_info: collections.abc.Iterable[
            temporalio.api.batch.v1.message_pb2.BatchOperationInfo
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "next_page_token", b"next_page_token", "operation_info", b"operation_info"
        ],
    ) -> None: ...

global___ListBatchOperationsResponse = ListBatchOperationsResponse

class PollWorkflowExecutionUpdateRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    UPDATE_REF_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    WAIT_POLICY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace of the Workflow Execution to which the Update was
    originally issued.
    """
    @property
    def update_ref(self) -> temporalio.api.update.v1.message_pb2.UpdateRef:
        """The Update reference returned in the initial UpdateWorkflowExecutionResponse."""
    identity: builtins.str
    """The identity of the worker/client who is polling this Update outcome."""
    @property
    def wait_policy(self) -> temporalio.api.update.v1.message_pb2.WaitPolicy:
        """Specifies client's intent to wait for Update results.
        Omit to request a non-blocking poll.
        """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        update_ref: temporalio.api.update.v1.message_pb2.UpdateRef | None = ...,
        identity: builtins.str = ...,
        wait_policy: temporalio.api.update.v1.message_pb2.WaitPolicy | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "update_ref", b"update_ref", "wait_policy", b"wait_policy"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "update_ref",
            b"update_ref",
            "wait_policy",
            b"wait_policy",
        ],
    ) -> None: ...

global___PollWorkflowExecutionUpdateRequest = PollWorkflowExecutionUpdateRequest

class PollWorkflowExecutionUpdateResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OUTCOME_FIELD_NUMBER: builtins.int
    STAGE_FIELD_NUMBER: builtins.int
    UPDATE_REF_FIELD_NUMBER: builtins.int
    @property
    def outcome(self) -> temporalio.api.update.v1.message_pb2.Outcome:
        """The outcome of the update if and only if the update has completed. If
        this response is being returned before the update has completed (e.g. due
        to the specification of a wait policy that only waits on
        UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED) then this field will
        not be set.
        """
    stage: temporalio.api.enums.v1.update_pb2.UpdateWorkflowExecutionLifecycleStage.ValueType
    """The most advanced lifecycle stage that the Update is known to have
    reached, where lifecycle stages are ordered
    UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED <
    UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED <
    UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED <
    UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED.
    UNSPECIFIED will be returned if and only if the server's maximum wait
    time was reached before the Update reached the stage specified in the
    request WaitPolicy, and before the context deadline expired; clients may
    may then retry the call as needed.
    """
    @property
    def update_ref(self) -> temporalio.api.update.v1.message_pb2.UpdateRef:
        """Sufficient information to address this Update."""
    def __init__(
        self,
        *,
        outcome: temporalio.api.update.v1.message_pb2.Outcome | None = ...,
        stage: temporalio.api.enums.v1.update_pb2.UpdateWorkflowExecutionLifecycleStage.ValueType = ...,
        update_ref: temporalio.api.update.v1.message_pb2.UpdateRef | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "outcome", b"outcome", "update_ref", b"update_ref"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "outcome", b"outcome", "stage", b"stage", "update_ref", b"update_ref"
        ],
    ) -> None: ...

global___PollWorkflowExecutionUpdateResponse = PollWorkflowExecutionUpdateResponse

class PollNexusTaskQueueRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    WORKER_VERSION_CAPABILITIES_FIELD_NUMBER: builtins.int
    DEPLOYMENT_OPTIONS_FIELD_NUMBER: builtins.int
    WORKER_HEARTBEAT_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    identity: builtins.str
    """The identity of the client who initiated this request."""
    @property
    def task_queue(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueue: ...
    @property
    def worker_version_capabilities(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkerVersionCapabilities:
        """Information about this worker's build identifier and if it is choosing to use the versioning
        feature. See the `WorkerVersionCapabilities` docstring for more.
        Deprecated. Replaced by deployment_options.
        """
    @property
    def deployment_options(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions:
        """Worker deployment options that user has set in the worker."""
    @property
    def worker_heartbeat(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.worker.v1.message_pb2.WorkerHeartbeat
    ]:
        """Worker info to be sent to the server."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        identity: builtins.str = ...,
        task_queue: temporalio.api.taskqueue.v1.message_pb2.TaskQueue | None = ...,
        worker_version_capabilities: temporalio.api.common.v1.message_pb2.WorkerVersionCapabilities
        | None = ...,
        deployment_options: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentOptions
        | None = ...,
        worker_heartbeat: collections.abc.Iterable[
            temporalio.api.worker.v1.message_pb2.WorkerHeartbeat
        ]
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_options",
            b"deployment_options",
            "task_queue",
            b"task_queue",
            "worker_version_capabilities",
            b"worker_version_capabilities",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_options",
            b"deployment_options",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "task_queue",
            b"task_queue",
            "worker_heartbeat",
            b"worker_heartbeat",
            "worker_version_capabilities",
            b"worker_version_capabilities",
        ],
    ) -> None: ...

global___PollNexusTaskQueueRequest = PollNexusTaskQueueRequest

class PollNexusTaskQueueResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TASK_TOKEN_FIELD_NUMBER: builtins.int
    REQUEST_FIELD_NUMBER: builtins.int
    POLLER_SCALING_DECISION_FIELD_NUMBER: builtins.int
    task_token: builtins.bytes
    """An opaque unique identifier for this task for correlating a completion request the embedded request."""
    @property
    def request(self) -> temporalio.api.nexus.v1.message_pb2.Request:
        """Embedded request as translated from the incoming frontend request."""
    @property
    def poller_scaling_decision(
        self,
    ) -> temporalio.api.taskqueue.v1.message_pb2.PollerScalingDecision:
        """Server-advised information the SDK may use to adjust its poller count."""
    def __init__(
        self,
        *,
        task_token: builtins.bytes = ...,
        request: temporalio.api.nexus.v1.message_pb2.Request | None = ...,
        poller_scaling_decision: temporalio.api.taskqueue.v1.message_pb2.PollerScalingDecision
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "poller_scaling_decision", b"poller_scaling_decision", "request", b"request"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "poller_scaling_decision",
            b"poller_scaling_decision",
            "request",
            b"request",
            "task_token",
            b"task_token",
        ],
    ) -> None: ...

global___PollNexusTaskQueueResponse = PollNexusTaskQueueResponse

class RespondNexusTaskCompletedRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    TASK_TOKEN_FIELD_NUMBER: builtins.int
    RESPONSE_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    identity: builtins.str
    """The identity of the client who initiated this request."""
    task_token: builtins.bytes
    """A unique identifier for this task as received via a poll response."""
    @property
    def response(self) -> temporalio.api.nexus.v1.message_pb2.Response:
        """Embedded response to be translated into a frontend response."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        identity: builtins.str = ...,
        task_token: builtins.bytes = ...,
        response: temporalio.api.nexus.v1.message_pb2.Response | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["response", b"response"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "response",
            b"response",
            "task_token",
            b"task_token",
        ],
    ) -> None: ...

global___RespondNexusTaskCompletedRequest = RespondNexusTaskCompletedRequest

class RespondNexusTaskCompletedResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RespondNexusTaskCompletedResponse = RespondNexusTaskCompletedResponse

class RespondNexusTaskFailedRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    TASK_TOKEN_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    identity: builtins.str
    """The identity of the client who initiated this request."""
    task_token: builtins.bytes
    """A unique identifier for this task."""
    @property
    def error(self) -> temporalio.api.nexus.v1.message_pb2.HandlerError:
        """The error the handler failed with."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        identity: builtins.str = ...,
        task_token: builtins.bytes = ...,
        error: temporalio.api.nexus.v1.message_pb2.HandlerError | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["error", b"error"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "error",
            b"error",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "task_token",
            b"task_token",
        ],
    ) -> None: ...

global___RespondNexusTaskFailedRequest = RespondNexusTaskFailedRequest

class RespondNexusTaskFailedResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RespondNexusTaskFailedResponse = RespondNexusTaskFailedResponse

class ExecuteMultiOperationRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class Operation(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        START_WORKFLOW_FIELD_NUMBER: builtins.int
        UPDATE_WORKFLOW_FIELD_NUMBER: builtins.int
        @property
        def start_workflow(self) -> global___StartWorkflowExecutionRequest:
            """Additional restrictions:
            - setting `cron_schedule` is invalid
            - setting `request_eager_execution` is invalid
            - setting `workflow_start_delay` is invalid
            """
        @property
        def update_workflow(self) -> global___UpdateWorkflowExecutionRequest:
            """Additional restrictions:
            - setting `first_execution_run_id` is invalid
            - setting `workflow_execution.run_id` is invalid
            """
        def __init__(
            self,
            *,
            start_workflow: global___StartWorkflowExecutionRequest | None = ...,
            update_workflow: global___UpdateWorkflowExecutionRequest | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "operation",
                b"operation",
                "start_workflow",
                b"start_workflow",
                "update_workflow",
                b"update_workflow",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "operation",
                b"operation",
                "start_workflow",
                b"start_workflow",
                "update_workflow",
                b"update_workflow",
            ],
        ) -> None: ...
        def WhichOneof(
            self, oneof_group: typing_extensions.Literal["operation", b"operation"]
        ) -> typing_extensions.Literal["start_workflow", "update_workflow"] | None: ...

    NAMESPACE_FIELD_NUMBER: builtins.int
    OPERATIONS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def operations(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___ExecuteMultiOperationRequest.Operation
    ]:
        """List of operations to execute within a single workflow.

        Preconditions:
        - The list of operations must not be empty.
        - The workflow ids must match across operations.
        - The only valid list of operations at this time is [StartWorkflow, UpdateWorkflow], in this order.

        Note that additional operation-specific restrictions have to be considered.
        """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        operations: collections.abc.Iterable[
            global___ExecuteMultiOperationRequest.Operation
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "operations", b"operations"
        ],
    ) -> None: ...

global___ExecuteMultiOperationRequest = ExecuteMultiOperationRequest

class ExecuteMultiOperationResponse(google.protobuf.message.Message):
    """IMPORTANT: For [StartWorkflow, UpdateWorkflow] combination ("Update-with-Start") when both
      1. the workflow update for the requested update ID has already completed, and
      2. the workflow for the requested workflow ID has already been closed,
    then you'll receive
      - an update response containing the update's outcome, and
      - a start response with a `status` field that reflects the workflow's current state.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class Response(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        START_WORKFLOW_FIELD_NUMBER: builtins.int
        UPDATE_WORKFLOW_FIELD_NUMBER: builtins.int
        @property
        def start_workflow(self) -> global___StartWorkflowExecutionResponse: ...
        @property
        def update_workflow(self) -> global___UpdateWorkflowExecutionResponse: ...
        def __init__(
            self,
            *,
            start_workflow: global___StartWorkflowExecutionResponse | None = ...,
            update_workflow: global___UpdateWorkflowExecutionResponse | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "response",
                b"response",
                "start_workflow",
                b"start_workflow",
                "update_workflow",
                b"update_workflow",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "response",
                b"response",
                "start_workflow",
                b"start_workflow",
                "update_workflow",
                b"update_workflow",
            ],
        ) -> None: ...
        def WhichOneof(
            self, oneof_group: typing_extensions.Literal["response", b"response"]
        ) -> typing_extensions.Literal["start_workflow", "update_workflow"] | None: ...

    RESPONSES_FIELD_NUMBER: builtins.int
    @property
    def responses(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___ExecuteMultiOperationResponse.Response
    ]: ...
    def __init__(
        self,
        *,
        responses: collections.abc.Iterable[
            global___ExecuteMultiOperationResponse.Response
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["responses", b"responses"]
    ) -> None: ...

global___ExecuteMultiOperationResponse = ExecuteMultiOperationResponse

class UpdateActivityOptionsRequest(google.protobuf.message.Message):
    """NOTE: keep in sync with temporalio.api.batch.v1.BatchOperationUpdateActivityOptions"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    ACTIVITY_OPTIONS_FIELD_NUMBER: builtins.int
    UPDATE_MASK_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    MATCH_ALL_FIELD_NUMBER: builtins.int
    RESTORE_ORIGINAL_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace of the workflow which scheduled this activity"""
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """Execution info of the workflow which scheduled this activity"""
    identity: builtins.str
    """The identity of the client who initiated this request"""
    @property
    def activity_options(
        self,
    ) -> temporalio.api.activity.v1.message_pb2.ActivityOptions:
        """Activity options. Partial updates are accepted and controlled by update_mask"""
    @property
    def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
        """Controls which fields from `activity_options` will be applied"""
    id: builtins.str
    """Only activity with this ID will be updated."""
    type: builtins.str
    """Update all running activities of this type."""
    match_all: builtins.bool
    """Update all running activities."""
    restore_original: builtins.bool
    """If set, the activity options will be restored to the default.
    Default options are then options activity was created with.
    They are part of the first SCHEDULE event.
    This flag cannot be combined with any other option; if you supply
    restore_original together with other options, the request will be rejected.
    """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
        identity: builtins.str = ...,
        activity_options: temporalio.api.activity.v1.message_pb2.ActivityOptions
        | None = ...,
        update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
        id: builtins.str = ...,
        type: builtins.str = ...,
        match_all: builtins.bool = ...,
        restore_original: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "activity",
            b"activity",
            "activity_options",
            b"activity_options",
            "execution",
            b"execution",
            "id",
            b"id",
            "match_all",
            b"match_all",
            "type",
            b"type",
            "update_mask",
            b"update_mask",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity",
            b"activity",
            "activity_options",
            b"activity_options",
            "execution",
            b"execution",
            "id",
            b"id",
            "identity",
            b"identity",
            "match_all",
            b"match_all",
            "namespace",
            b"namespace",
            "restore_original",
            b"restore_original",
            "type",
            b"type",
            "update_mask",
            b"update_mask",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["activity", b"activity"]
    ) -> typing_extensions.Literal["id", "type", "match_all"] | None: ...

global___UpdateActivityOptionsRequest = UpdateActivityOptionsRequest

class UpdateActivityOptionsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACTIVITY_OPTIONS_FIELD_NUMBER: builtins.int
    @property
    def activity_options(
        self,
    ) -> temporalio.api.activity.v1.message_pb2.ActivityOptions:
        """Activity options after an update"""
    def __init__(
        self,
        *,
        activity_options: temporalio.api.activity.v1.message_pb2.ActivityOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal["activity_options", b"activity_options"],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal["activity_options", b"activity_options"],
    ) -> None: ...

global___UpdateActivityOptionsResponse = UpdateActivityOptionsResponse

class PauseActivityRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace of the workflow which scheduled this activity."""
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """Execution info of the workflow which scheduled this activity"""
    identity: builtins.str
    """The identity of the client who initiated this request."""
    id: builtins.str
    """Only the activity with this ID will be paused."""
    type: builtins.str
    """Pause all running activities of this type.
    Note: Experimental - the behavior of pause by activity type might change in a future release.
    """
    reason: builtins.str
    """Reason to pause the activity."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
        identity: builtins.str = ...,
        id: builtins.str = ...,
        type: builtins.str = ...,
        reason: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "activity",
            b"activity",
            "execution",
            b"execution",
            "id",
            b"id",
            "type",
            b"type",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity",
            b"activity",
            "execution",
            b"execution",
            "id",
            b"id",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "reason",
            b"reason",
            "type",
            b"type",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["activity", b"activity"]
    ) -> typing_extensions.Literal["id", "type"] | None: ...

global___PauseActivityRequest = PauseActivityRequest

class PauseActivityResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___PauseActivityResponse = PauseActivityResponse

class UnpauseActivityRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    UNPAUSE_ALL_FIELD_NUMBER: builtins.int
    RESET_ATTEMPTS_FIELD_NUMBER: builtins.int
    RESET_HEARTBEAT_FIELD_NUMBER: builtins.int
    JITTER_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace of the workflow which scheduled this activity."""
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """Execution info of the workflow which scheduled this activity"""
    identity: builtins.str
    """The identity of the client who initiated this request."""
    id: builtins.str
    """Only the activity with this ID will be unpaused."""
    type: builtins.str
    """Unpause all running activities with of this type."""
    unpause_all: builtins.bool
    """Unpause all running activities."""
    reset_attempts: builtins.bool
    """Providing this flag will also reset the number of attempts."""
    reset_heartbeat: builtins.bool
    """Providing this flag will also reset the heartbeat details."""
    @property
    def jitter(self) -> google.protobuf.duration_pb2.Duration:
        """If set, the activity will start at a random time within the specified jitter duration."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
        identity: builtins.str = ...,
        id: builtins.str = ...,
        type: builtins.str = ...,
        unpause_all: builtins.bool = ...,
        reset_attempts: builtins.bool = ...,
        reset_heartbeat: builtins.bool = ...,
        jitter: google.protobuf.duration_pb2.Duration | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "activity",
            b"activity",
            "execution",
            b"execution",
            "id",
            b"id",
            "jitter",
            b"jitter",
            "type",
            b"type",
            "unpause_all",
            b"unpause_all",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity",
            b"activity",
            "execution",
            b"execution",
            "id",
            b"id",
            "identity",
            b"identity",
            "jitter",
            b"jitter",
            "namespace",
            b"namespace",
            "reset_attempts",
            b"reset_attempts",
            "reset_heartbeat",
            b"reset_heartbeat",
            "type",
            b"type",
            "unpause_all",
            b"unpause_all",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["activity", b"activity"]
    ) -> typing_extensions.Literal["id", "type", "unpause_all"] | None: ...

global___UnpauseActivityRequest = UnpauseActivityRequest

class UnpauseActivityResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___UnpauseActivityResponse = UnpauseActivityResponse

class ResetActivityRequest(google.protobuf.message.Message):
    """NOTE: keep in sync with temporalio.api.batch.v1.BatchOperationResetActivities"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    MATCH_ALL_FIELD_NUMBER: builtins.int
    RESET_HEARTBEAT_FIELD_NUMBER: builtins.int
    KEEP_PAUSED_FIELD_NUMBER: builtins.int
    JITTER_FIELD_NUMBER: builtins.int
    RESTORE_ORIGINAL_OPTIONS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace of the workflow which scheduled this activity."""
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """Execution info of the workflow which scheduled this activity"""
    identity: builtins.str
    """The identity of the client who initiated this request."""
    id: builtins.str
    """Only activity with this ID will be reset."""
    type: builtins.str
    """Reset all running activities with of this type."""
    match_all: builtins.bool
    """Reset all running activities."""
    reset_heartbeat: builtins.bool
    """Indicates that activity should reset heartbeat details.
    This flag will be applied only to the new instance of the activity.
    """
    keep_paused: builtins.bool
    """If activity is paused, it will remain paused after reset"""
    @property
    def jitter(self) -> google.protobuf.duration_pb2.Duration:
        """If set, and activity is in backoff, the activity will start at a random time within the specified jitter duration.
        (unless it is paused and keep_paused is set)
        """
    restore_original_options: builtins.bool
    """If set, the activity options will be restored to the defaults.
    Default options are then options activity was created with.
    They are part of the first SCHEDULE event.
    """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
        identity: builtins.str = ...,
        id: builtins.str = ...,
        type: builtins.str = ...,
        match_all: builtins.bool = ...,
        reset_heartbeat: builtins.bool = ...,
        keep_paused: builtins.bool = ...,
        jitter: google.protobuf.duration_pb2.Duration | None = ...,
        restore_original_options: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "activity",
            b"activity",
            "execution",
            b"execution",
            "id",
            b"id",
            "jitter",
            b"jitter",
            "match_all",
            b"match_all",
            "type",
            b"type",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "activity",
            b"activity",
            "execution",
            b"execution",
            "id",
            b"id",
            "identity",
            b"identity",
            "jitter",
            b"jitter",
            "keep_paused",
            b"keep_paused",
            "match_all",
            b"match_all",
            "namespace",
            b"namespace",
            "reset_heartbeat",
            b"reset_heartbeat",
            "restore_original_options",
            b"restore_original_options",
            "type",
            b"type",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["activity", b"activity"]
    ) -> typing_extensions.Literal["id", "type", "match_all"] | None: ...

global___ResetActivityRequest = ResetActivityRequest

class ResetActivityResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___ResetActivityResponse = ResetActivityResponse

class UpdateWorkflowExecutionOptionsRequest(google.protobuf.message.Message):
    """Keep the parameters in sync with:
    - temporalio.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions.
    - temporalio.api.workflow.v1.PostResetOperation.UpdateWorkflowOptions.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_FIELD_NUMBER: builtins.int
    WORKFLOW_EXECUTION_OPTIONS_FIELD_NUMBER: builtins.int
    UPDATE_MASK_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """The namespace name of the target Workflow."""
    @property
    def workflow_execution(
        self,
    ) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """The target Workflow Id and (optionally) a specific Run Id thereof.
        (-- api-linter: core::0203::optional=disabled
            aip.dev/not-precedent: false positive triggered by the word "optional" --)
        """
    @property
    def workflow_execution_options(
        self,
    ) -> temporalio.api.workflow.v1.message_pb2.WorkflowExecutionOptions:
        """Workflow Execution options. Partial updates are accepted and controlled by update_mask."""
    @property
    def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
        """Controls which fields from `workflow_execution_options` will be applied.
        To unset a field, set it to null and use the update mask to indicate that it should be mutated.
        """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        workflow_execution: temporalio.api.common.v1.message_pb2.WorkflowExecution
        | None = ...,
        workflow_execution_options: temporalio.api.workflow.v1.message_pb2.WorkflowExecutionOptions
        | None = ...,
        update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "update_mask",
            b"update_mask",
            "workflow_execution",
            b"workflow_execution",
            "workflow_execution_options",
            b"workflow_execution_options",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace",
            b"namespace",
            "update_mask",
            b"update_mask",
            "workflow_execution",
            b"workflow_execution",
            "workflow_execution_options",
            b"workflow_execution_options",
        ],
    ) -> None: ...

global___UpdateWorkflowExecutionOptionsRequest = UpdateWorkflowExecutionOptionsRequest

class UpdateWorkflowExecutionOptionsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKFLOW_EXECUTION_OPTIONS_FIELD_NUMBER: builtins.int
    @property
    def workflow_execution_options(
        self,
    ) -> temporalio.api.workflow.v1.message_pb2.WorkflowExecutionOptions:
        """Workflow Execution options after update."""
    def __init__(
        self,
        *,
        workflow_execution_options: temporalio.api.workflow.v1.message_pb2.WorkflowExecutionOptions
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "workflow_execution_options", b"workflow_execution_options"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "workflow_execution_options", b"workflow_execution_options"
        ],
    ) -> None: ...

global___UpdateWorkflowExecutionOptionsResponse = UpdateWorkflowExecutionOptionsResponse

class DescribeDeploymentRequest(google.protobuf.message.Message):
    """[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def deployment(self) -> temporalio.api.deployment.v1.message_pb2.Deployment: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        deployment: temporalio.api.deployment.v1.message_pb2.Deployment | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["deployment", b"deployment"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment", b"deployment", "namespace", b"namespace"
        ],
    ) -> None: ...

global___DescribeDeploymentRequest = DescribeDeploymentRequest

class DescribeDeploymentResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DEPLOYMENT_INFO_FIELD_NUMBER: builtins.int
    @property
    def deployment_info(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.DeploymentInfo: ...
    def __init__(
        self,
        *,
        deployment_info: temporalio.api.deployment.v1.message_pb2.DeploymentInfo
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal["deployment_info", b"deployment_info"],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal["deployment_info", b"deployment_info"],
    ) -> None: ...

global___DescribeDeploymentResponse = DescribeDeploymentResponse

class DescribeWorkerDeploymentVersionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    DEPLOYMENT_VERSION_FIELD_NUMBER: builtins.int
    REPORT_TASK_QUEUE_STATS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    version: builtins.str
    """Deprecated. Use `deployment_version`."""
    @property
    def deployment_version(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion:
        """Required."""
    report_task_queue_stats: builtins.bool
    """Report stats for task queues which have been polled by this version."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        version: builtins.str = ...,
        deployment_version: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion
        | None = ...,
        report_task_queue_stats: builtins.bool = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_version", b"deployment_version"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_version",
            b"deployment_version",
            "namespace",
            b"namespace",
            "report_task_queue_stats",
            b"report_task_queue_stats",
            "version",
            b"version",
        ],
    ) -> None: ...

global___DescribeWorkerDeploymentVersionRequest = DescribeWorkerDeploymentVersionRequest

class DescribeWorkerDeploymentVersionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class VersionTaskQueue(google.protobuf.message.Message):
        """(-- api-linter: core::0123::resource-annotation=disabled --)"""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        class StatsByPriorityKeyEntry(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor

            KEY_FIELD_NUMBER: builtins.int
            VALUE_FIELD_NUMBER: builtins.int
            key: builtins.int
            @property
            def value(
                self,
            ) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats: ...
            def __init__(
                self,
                *,
                key: builtins.int = ...,
                value: temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats
                | None = ...,
            ) -> None: ...
            def HasField(
                self, field_name: typing_extensions.Literal["value", b"value"]
            ) -> builtins.bool: ...
            def ClearField(
                self,
                field_name: typing_extensions.Literal["key", b"key", "value", b"value"],
            ) -> None: ...

        NAME_FIELD_NUMBER: builtins.int
        TYPE_FIELD_NUMBER: builtins.int
        STATS_FIELD_NUMBER: builtins.int
        STATS_BY_PRIORITY_KEY_FIELD_NUMBER: builtins.int
        name: builtins.str
        type: temporalio.api.enums.v1.task_queue_pb2.TaskQueueType.ValueType
        @property
        def stats(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats:
            """Only set if `report_task_queue_stats` is set on the request."""
        @property
        def stats_by_priority_key(
            self,
        ) -> google.protobuf.internal.containers.MessageMap[
            builtins.int, temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats
        ]:
            """Task queue stats breakdown by priority key. Only contains actively used priority keys.
            Only set if `report_task_queue_stats` is set to true in the request.
            (-- api-linter: core::0140::prepositions=disabled
                aip.dev/not-precedent: "by" is used to clarify the key. --)
            """
        def __init__(
            self,
            *,
            name: builtins.str = ...,
            type: temporalio.api.enums.v1.task_queue_pb2.TaskQueueType.ValueType = ...,
            stats: temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats | None = ...,
            stats_by_priority_key: collections.abc.Mapping[
                builtins.int, temporalio.api.taskqueue.v1.message_pb2.TaskQueueStats
            ]
            | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["stats", b"stats"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "name",
                b"name",
                "stats",
                b"stats",
                "stats_by_priority_key",
                b"stats_by_priority_key",
                "type",
                b"type",
            ],
        ) -> None: ...

    WORKER_DEPLOYMENT_VERSION_INFO_FIELD_NUMBER: builtins.int
    VERSION_TASK_QUEUES_FIELD_NUMBER: builtins.int
    @property
    def worker_deployment_version_info(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersionInfo: ...
    @property
    def version_task_queues(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___DescribeWorkerDeploymentVersionResponse.VersionTaskQueue
    ]:
        """All the Task Queues that have ever polled from this Deployment version."""
    def __init__(
        self,
        *,
        worker_deployment_version_info: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersionInfo
        | None = ...,
        version_task_queues: collections.abc.Iterable[
            global___DescribeWorkerDeploymentVersionResponse.VersionTaskQueue
        ]
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "worker_deployment_version_info", b"worker_deployment_version_info"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "version_task_queues",
            b"version_task_queues",
            "worker_deployment_version_info",
            b"worker_deployment_version_info",
        ],
    ) -> None: ...

global___DescribeWorkerDeploymentVersionResponse = (
    DescribeWorkerDeploymentVersionResponse
)

class DescribeWorkerDeploymentRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_NAME_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    deployment_name: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        deployment_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_name", b"deployment_name", "namespace", b"namespace"
        ],
    ) -> None: ...

global___DescribeWorkerDeploymentRequest = DescribeWorkerDeploymentRequest

class DescribeWorkerDeploymentResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    WORKER_DEPLOYMENT_INFO_FIELD_NUMBER: builtins.int
    conflict_token: builtins.bytes
    """This value is returned so that it can be optionally passed to APIs
    that write to the Worker Deployment state to ensure that the state
    did not change between this read and a future write.
    """
    @property
    def worker_deployment_info(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentInfo: ...
    def __init__(
        self,
        *,
        conflict_token: builtins.bytes = ...,
        worker_deployment_info: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentInfo
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "worker_deployment_info", b"worker_deployment_info"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "conflict_token",
            b"conflict_token",
            "worker_deployment_info",
            b"worker_deployment_info",
        ],
    ) -> None: ...

global___DescribeWorkerDeploymentResponse = DescribeWorkerDeploymentResponse

class ListDeploymentsRequest(google.protobuf.message.Message):
    """[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    SERIES_NAME_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    page_size: builtins.int
    next_page_token: builtins.bytes
    series_name: builtins.str
    """Optional. Use to filter based on exact series name match."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        series_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "page_size",
            b"page_size",
            "series_name",
            b"series_name",
        ],
    ) -> None: ...

global___ListDeploymentsRequest = ListDeploymentsRequest

class ListDeploymentsResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    DEPLOYMENTS_FIELD_NUMBER: builtins.int
    next_page_token: builtins.bytes
    @property
    def deployments(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.deployment.v1.message_pb2.DeploymentListInfo
    ]: ...
    def __init__(
        self,
        *,
        next_page_token: builtins.bytes = ...,
        deployments: collections.abc.Iterable[
            temporalio.api.deployment.v1.message_pb2.DeploymentListInfo
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployments", b"deployments", "next_page_token", b"next_page_token"
        ],
    ) -> None: ...

global___ListDeploymentsResponse = ListDeploymentsResponse

class SetCurrentDeploymentRequest(google.protobuf.message.Message):
    """[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    UPDATE_METADATA_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def deployment(self) -> temporalio.api.deployment.v1.message_pb2.Deployment: ...
    identity: builtins.str
    """Optional. The identity of the client who initiated this request."""
    @property
    def update_metadata(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.UpdateDeploymentMetadata:
        """Optional. Use to add or remove user-defined metadata entries. Metadata entries are exposed
        when describing a deployment. It is a good place for information such as operator name,
        links to internal deployment pipelines, etc.
        """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        deployment: temporalio.api.deployment.v1.message_pb2.Deployment | None = ...,
        identity: builtins.str = ...,
        update_metadata: temporalio.api.deployment.v1.message_pb2.UpdateDeploymentMetadata
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment", b"deployment", "update_metadata", b"update_metadata"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment",
            b"deployment",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "update_metadata",
            b"update_metadata",
        ],
    ) -> None: ...

global___SetCurrentDeploymentRequest = SetCurrentDeploymentRequest

class SetCurrentDeploymentResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CURRENT_DEPLOYMENT_INFO_FIELD_NUMBER: builtins.int
    PREVIOUS_DEPLOYMENT_INFO_FIELD_NUMBER: builtins.int
    @property
    def current_deployment_info(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.DeploymentInfo: ...
    @property
    def previous_deployment_info(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.DeploymentInfo:
        """Info of the deployment that was current before executing this operation."""
    def __init__(
        self,
        *,
        current_deployment_info: temporalio.api.deployment.v1.message_pb2.DeploymentInfo
        | None = ...,
        previous_deployment_info: temporalio.api.deployment.v1.message_pb2.DeploymentInfo
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "current_deployment_info",
            b"current_deployment_info",
            "previous_deployment_info",
            b"previous_deployment_info",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "current_deployment_info",
            b"current_deployment_info",
            "previous_deployment_info",
            b"previous_deployment_info",
        ],
    ) -> None: ...

global___SetCurrentDeploymentResponse = SetCurrentDeploymentResponse

class SetWorkerDeploymentCurrentVersionRequest(google.protobuf.message.Message):
    """Set/unset the Current Version of a Worker Deployment."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    BUILD_ID_FIELD_NUMBER: builtins.int
    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    IGNORE_MISSING_TASK_QUEUES_FIELD_NUMBER: builtins.int
    ALLOW_NO_POLLERS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    deployment_name: builtins.str
    version: builtins.str
    """Deprecated. Use `build_id`."""
    build_id: builtins.str
    """The build id of the Version that you want to set as Current.
    Pass an empty value to set the Current Version to nil.
    A nil Current Version represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.)
    """
    conflict_token: builtins.bytes
    """Optional. This can be the value of conflict_token from a Describe, or another Worker
    Deployment API. Passing a non-nil conflict token will cause this request to fail if the
    Deployment's configuration has been modified between the API call that generated the
    token and this one.
    """
    identity: builtins.str
    """Optional. The identity of the client who initiated this request."""
    ignore_missing_task_queues: builtins.bool
    """Optional. By default this request would be rejected if not all the expected Task Queues are
    being polled by the new Version, to protect against accidental removal of Task Queues, or
    worker health issues. Pass `true` here to bypass this protection.
    The set of expected Task Queues is the set of all the Task Queues that were ever poller by
    the existing Current Version of the Deployment, with the following exclusions:
      - Task Queues that are not used anymore (inferred by having empty backlog and a task
        add_rate of 0.)
      - Task Queues that are moved to another Worker Deployment (inferred by the Task Queue
        having a different Current Version than the Current Version of this deployment.)
    WARNING: Do not set this flag unless you are sure that the missing task queue pollers are not
    needed. If the request is unexpectedly rejected due to missing pollers, then that means the
    pollers have not reached to the server yet. Only set this if you expect those pollers to
    never arrive.
    """
    allow_no_pollers: builtins.bool
    """Optional. By default this request will be rejected if no pollers have been seen for the proposed
    Current Version, in order to protect users from routing tasks to pollers that do not exist, leading
    to possible timeouts. Pass `true` here to bypass this protection.
    """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        deployment_name: builtins.str = ...,
        version: builtins.str = ...,
        build_id: builtins.str = ...,
        conflict_token: builtins.bytes = ...,
        identity: builtins.str = ...,
        ignore_missing_task_queues: builtins.bool = ...,
        allow_no_pollers: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "allow_no_pollers",
            b"allow_no_pollers",
            "build_id",
            b"build_id",
            "conflict_token",
            b"conflict_token",
            "deployment_name",
            b"deployment_name",
            "identity",
            b"identity",
            "ignore_missing_task_queues",
            b"ignore_missing_task_queues",
            "namespace",
            b"namespace",
            "version",
            b"version",
        ],
    ) -> None: ...

global___SetWorkerDeploymentCurrentVersionRequest = (
    SetWorkerDeploymentCurrentVersionRequest
)

class SetWorkerDeploymentCurrentVersionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    PREVIOUS_VERSION_FIELD_NUMBER: builtins.int
    PREVIOUS_DEPLOYMENT_VERSION_FIELD_NUMBER: builtins.int
    conflict_token: builtins.bytes
    """This value is returned so that it can be optionally passed to APIs
    that write to the Worker Deployment state to ensure that the state
    did not change between this API call and a future write.
    """
    previous_version: builtins.str
    """Deprecated. Use `previous_deployment_version`."""
    @property
    def previous_deployment_version(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion:
        """The version that was current before executing this operation."""
    def __init__(
        self,
        *,
        conflict_token: builtins.bytes = ...,
        previous_version: builtins.str = ...,
        previous_deployment_version: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "previous_deployment_version", b"previous_deployment_version"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "conflict_token",
            b"conflict_token",
            "previous_deployment_version",
            b"previous_deployment_version",
            "previous_version",
            b"previous_version",
        ],
    ) -> None: ...

global___SetWorkerDeploymentCurrentVersionResponse = (
    SetWorkerDeploymentCurrentVersionResponse
)

class SetWorkerDeploymentRampingVersionRequest(google.protobuf.message.Message):
    """Set/unset the Ramping Version of a Worker Deployment and its ramp percentage."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    BUILD_ID_FIELD_NUMBER: builtins.int
    PERCENTAGE_FIELD_NUMBER: builtins.int
    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    IGNORE_MISSING_TASK_QUEUES_FIELD_NUMBER: builtins.int
    ALLOW_NO_POLLERS_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    deployment_name: builtins.str
    version: builtins.str
    """Deprecated. Use `build_id`."""
    build_id: builtins.str
    """The build id of the Version that you want to ramp traffic to.
    Pass an empty value to set the Ramping Version to nil.
    A nil Ramping Version represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.)
    """
    percentage: builtins.float
    """Ramp percentage to set. Valid range: [0,100]."""
    conflict_token: builtins.bytes
    """Optional. This can be the value of conflict_token from a Describe, or another Worker
    Deployment API. Passing a non-nil conflict token will cause this request to fail if the
    Deployment's configuration has been modified between the API call that generated the
    token and this one.
    """
    identity: builtins.str
    """Optional. The identity of the client who initiated this request."""
    ignore_missing_task_queues: builtins.bool
    """Optional. By default this request would be rejected if not all the expected Task Queues are
    being polled by the new Version, to protect against accidental removal of Task Queues, or
    worker health issues. Pass `true` here to bypass this protection.
    The set of expected Task Queues equals to all the Task Queues ever polled from the existing
    Current Version of the Deployment, with the following exclusions:
      - Task Queues that are not used anymore (inferred by having empty backlog and a task
        add_rate of 0.)
      - Task Queues that are moved to another Worker Deployment (inferred by the Task Queue
        having a different Current Version than the Current Version of this deployment.)
    WARNING: Do not set this flag unless you are sure that the missing task queue poller are not
    needed. If the request is unexpectedly rejected due to missing pollers, then that means the
    pollers have not reached to the server yet. Only set this if you expect those pollers to
    never arrive.
    Note: this check only happens when the ramping version is about to change, not every time
    that the percentage changes. Also note that the check is against the deployment's Current
    Version, not the previous Ramping Version.
    """
    allow_no_pollers: builtins.bool
    """Optional. By default this request will be rejected if no pollers have been seen for the proposed
    Current Version, in order to protect users from routing tasks to pollers that do not exist, leading
    to possible timeouts. Pass `true` here to bypass this protection.
    """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        deployment_name: builtins.str = ...,
        version: builtins.str = ...,
        build_id: builtins.str = ...,
        percentage: builtins.float = ...,
        conflict_token: builtins.bytes = ...,
        identity: builtins.str = ...,
        ignore_missing_task_queues: builtins.bool = ...,
        allow_no_pollers: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "allow_no_pollers",
            b"allow_no_pollers",
            "build_id",
            b"build_id",
            "conflict_token",
            b"conflict_token",
            "deployment_name",
            b"deployment_name",
            "identity",
            b"identity",
            "ignore_missing_task_queues",
            b"ignore_missing_task_queues",
            "namespace",
            b"namespace",
            "percentage",
            b"percentage",
            "version",
            b"version",
        ],
    ) -> None: ...

global___SetWorkerDeploymentRampingVersionRequest = (
    SetWorkerDeploymentRampingVersionRequest
)

class SetWorkerDeploymentRampingVersionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    PREVIOUS_VERSION_FIELD_NUMBER: builtins.int
    PREVIOUS_DEPLOYMENT_VERSION_FIELD_NUMBER: builtins.int
    PREVIOUS_PERCENTAGE_FIELD_NUMBER: builtins.int
    conflict_token: builtins.bytes
    """This value is returned so that it can be optionally passed to APIs
    that write to the Worker Deployment state to ensure that the state
    did not change between this API call and a future write.
    """
    previous_version: builtins.str
    """Deprecated. Use `previous_deployment_version`."""
    @property
    def previous_deployment_version(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion:
        """The version that was ramping before executing this operation."""
    previous_percentage: builtins.float
    """The ramping version percentage before executing this operation."""
    def __init__(
        self,
        *,
        conflict_token: builtins.bytes = ...,
        previous_version: builtins.str = ...,
        previous_deployment_version: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion
        | None = ...,
        previous_percentage: builtins.float = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "previous_deployment_version", b"previous_deployment_version"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "conflict_token",
            b"conflict_token",
            "previous_deployment_version",
            b"previous_deployment_version",
            "previous_percentage",
            b"previous_percentage",
            "previous_version",
            b"previous_version",
        ],
    ) -> None: ...

global___SetWorkerDeploymentRampingVersionResponse = (
    SetWorkerDeploymentRampingVersionResponse
)

class ListWorkerDeploymentsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    page_size: builtins.int
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "page_size",
            b"page_size",
        ],
    ) -> None: ...

global___ListWorkerDeploymentsRequest = ListWorkerDeploymentsRequest

class ListWorkerDeploymentsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class WorkerDeploymentSummary(google.protobuf.message.Message):
        """(-- api-linter: core::0123::resource-annotation=disabled --)
        A subset of WorkerDeploymentInfo
        """

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        NAME_FIELD_NUMBER: builtins.int
        CREATE_TIME_FIELD_NUMBER: builtins.int
        ROUTING_CONFIG_FIELD_NUMBER: builtins.int
        LATEST_VERSION_SUMMARY_FIELD_NUMBER: builtins.int
        CURRENT_VERSION_SUMMARY_FIELD_NUMBER: builtins.int
        RAMPING_VERSION_SUMMARY_FIELD_NUMBER: builtins.int
        name: builtins.str
        @property
        def create_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
        @property
        def routing_config(
            self,
        ) -> temporalio.api.deployment.v1.message_pb2.RoutingConfig: ...
        @property
        def latest_version_summary(
            self,
        ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentInfo.WorkerDeploymentVersionSummary:
            """Summary of the version that was added most recently in the Worker Deployment."""
        @property
        def current_version_summary(
            self,
        ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentInfo.WorkerDeploymentVersionSummary:
            """Summary of the current version of the Worker Deployment."""
        @property
        def ramping_version_summary(
            self,
        ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentInfo.WorkerDeploymentVersionSummary:
            """Summary of the ramping version of the Worker Deployment."""
        def __init__(
            self,
            *,
            name: builtins.str = ...,
            create_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
            routing_config: temporalio.api.deployment.v1.message_pb2.RoutingConfig
            | None = ...,
            latest_version_summary: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
            | None = ...,
            current_version_summary: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
            | None = ...,
            ramping_version_summary: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
            | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing_extensions.Literal[
                "create_time",
                b"create_time",
                "current_version_summary",
                b"current_version_summary",
                "latest_version_summary",
                b"latest_version_summary",
                "ramping_version_summary",
                b"ramping_version_summary",
                "routing_config",
                b"routing_config",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "create_time",
                b"create_time",
                "current_version_summary",
                b"current_version_summary",
                "latest_version_summary",
                b"latest_version_summary",
                "name",
                b"name",
                "ramping_version_summary",
                b"ramping_version_summary",
                "routing_config",
                b"routing_config",
            ],
        ) -> None: ...

    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    WORKER_DEPLOYMENTS_FIELD_NUMBER: builtins.int
    next_page_token: builtins.bytes
    @property
    def worker_deployments(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___ListWorkerDeploymentsResponse.WorkerDeploymentSummary
    ]:
        """The list of worker deployments."""
    def __init__(
        self,
        *,
        next_page_token: builtins.bytes = ...,
        worker_deployments: collections.abc.Iterable[
            global___ListWorkerDeploymentsResponse.WorkerDeploymentSummary
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "next_page_token",
            b"next_page_token",
            "worker_deployments",
            b"worker_deployments",
        ],
    ) -> None: ...

global___ListWorkerDeploymentsResponse = ListWorkerDeploymentsResponse

class DeleteWorkerDeploymentVersionRequest(google.protobuf.message.Message):
    """Used for manual deletion of Versions. User can delete a Version only when all the
    following conditions are met:
     - It is not the Current or Ramping Version of its Deployment.
     - It has no active pollers (none of the task queues in the Version have pollers)
     - It is not draining (see WorkerDeploymentVersionInfo.drainage_info). This condition
       can be skipped by passing `skip-drainage=true`.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    DEPLOYMENT_VERSION_FIELD_NUMBER: builtins.int
    SKIP_DRAINAGE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    version: builtins.str
    """Deprecated. Use `deployment_version`."""
    @property
    def deployment_version(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion:
        """Required."""
    skip_drainage: builtins.bool
    """Pass to force deletion even if the Version is draining. In this case the open pinned
    workflows will be stuck until manually moved to another version by UpdateWorkflowExecutionOptions.
    """
    identity: builtins.str
    """Optional. The identity of the client who initiated this request."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        version: builtins.str = ...,
        deployment_version: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion
        | None = ...,
        skip_drainage: builtins.bool = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_version", b"deployment_version"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_version",
            b"deployment_version",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "skip_drainage",
            b"skip_drainage",
            "version",
            b"version",
        ],
    ) -> None: ...

global___DeleteWorkerDeploymentVersionRequest = DeleteWorkerDeploymentVersionRequest

class DeleteWorkerDeploymentVersionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___DeleteWorkerDeploymentVersionResponse = DeleteWorkerDeploymentVersionResponse

class DeleteWorkerDeploymentRequest(google.protobuf.message.Message):
    """Deletes records of (an old) Deployment. A deployment can only be deleted if
    it has no Version in it.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_NAME_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    deployment_name: builtins.str
    identity: builtins.str
    """Optional. The identity of the client who initiated this request."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        deployment_name: builtins.str = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_name",
            b"deployment_name",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
        ],
    ) -> None: ...

global___DeleteWorkerDeploymentRequest = DeleteWorkerDeploymentRequest

class DeleteWorkerDeploymentResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___DeleteWorkerDeploymentResponse = DeleteWorkerDeploymentResponse

class UpdateWorkerDeploymentVersionMetadataRequest(google.protobuf.message.Message):
    """Used to update the user-defined metadata of a Worker Deployment Version."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class UpsertEntriesEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> temporalio.api.common.v1.message_pb2.Payload: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: temporalio.api.common.v1.message_pb2.Payload | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["value", b"value"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal["key", b"key", "value", b"value"],
        ) -> None: ...

    NAMESPACE_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    DEPLOYMENT_VERSION_FIELD_NUMBER: builtins.int
    UPSERT_ENTRIES_FIELD_NUMBER: builtins.int
    REMOVE_ENTRIES_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    version: builtins.str
    """Deprecated. Use `deployment_version`."""
    @property
    def deployment_version(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion:
        """Required."""
    @property
    def upsert_entries(
        self,
    ) -> google.protobuf.internal.containers.MessageMap[
        builtins.str, temporalio.api.common.v1.message_pb2.Payload
    ]: ...
    @property
    def remove_entries(
        self,
    ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """List of keys to remove from the metadata."""
    identity: builtins.str
    """Optional. The identity of the client who initiated this request."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        version: builtins.str = ...,
        deployment_version: temporalio.api.deployment.v1.message_pb2.WorkerDeploymentVersion
        | None = ...,
        upsert_entries: collections.abc.Mapping[
            builtins.str, temporalio.api.common.v1.message_pb2.Payload
        ]
        | None = ...,
        remove_entries: collections.abc.Iterable[builtins.str] | None = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_version", b"deployment_version"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_version",
            b"deployment_version",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "remove_entries",
            b"remove_entries",
            "upsert_entries",
            b"upsert_entries",
            "version",
            b"version",
        ],
    ) -> None: ...

global___UpdateWorkerDeploymentVersionMetadataRequest = (
    UpdateWorkerDeploymentVersionMetadataRequest
)

class UpdateWorkerDeploymentVersionMetadataResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    METADATA_FIELD_NUMBER: builtins.int
    @property
    def metadata(self) -> temporalio.api.deployment.v1.message_pb2.VersionMetadata:
        """Full metadata after performing the update."""
    def __init__(
        self,
        *,
        metadata: temporalio.api.deployment.v1.message_pb2.VersionMetadata | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["metadata", b"metadata"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["metadata", b"metadata"]
    ) -> None: ...

global___UpdateWorkerDeploymentVersionMetadataResponse = (
    UpdateWorkerDeploymentVersionMetadataResponse
)

class SetWorkerDeploymentManagerRequest(google.protobuf.message.Message):
    """Update the ManagerIdentity of a Worker Deployment."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_NAME_FIELD_NUMBER: builtins.int
    MANAGER_IDENTITY_FIELD_NUMBER: builtins.int
    SELF_FIELD_NUMBER: builtins.int
    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    deployment_name: builtins.str
    manager_identity: builtins.str
    """Arbitrary value for `manager_identity`.
    Empty will unset the field.
    """
    self: builtins.bool
    """True will set `manager_identity` to `identity`."""
    conflict_token: builtins.bytes
    """Optional. This can be the value of conflict_token from a Describe, or another Worker
    Deployment API. Passing a non-nil conflict token will cause this request to fail if the
    Deployment's configuration has been modified between the API call that generated the
    token and this one.
    """
    identity: builtins.str
    """Required. The identity of the client who initiated this request."""
    def __init__(
        # pyright: reportSelfClsParameterName=false
        self_,
        *,
        namespace: builtins.str = ...,
        deployment_name: builtins.str = ...,
        manager_identity: builtins.str = ...,
        self: builtins.bool = ...,
        conflict_token: builtins.bytes = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "manager_identity",
            b"manager_identity",
            "new_manager_identity",
            b"new_manager_identity",
            "self",
            b"self",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "conflict_token",
            b"conflict_token",
            "deployment_name",
            b"deployment_name",
            "identity",
            b"identity",
            "manager_identity",
            b"manager_identity",
            "namespace",
            b"namespace",
            "new_manager_identity",
            b"new_manager_identity",
            "self",
            b"self",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal[
            "new_manager_identity", b"new_manager_identity"
        ],
    ) -> typing_extensions.Literal["manager_identity", "self"] | None: ...

global___SetWorkerDeploymentManagerRequest = SetWorkerDeploymentManagerRequest

class SetWorkerDeploymentManagerResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONFLICT_TOKEN_FIELD_NUMBER: builtins.int
    PREVIOUS_MANAGER_IDENTITY_FIELD_NUMBER: builtins.int
    conflict_token: builtins.bytes
    """This value is returned so that it can be optionally passed to APIs
    that write to the Worker Deployment state to ensure that the state
    did not change between this API call and a future write.
    """
    previous_manager_identity: builtins.str
    """What the `manager_identity` field was before this change."""
    def __init__(
        self,
        *,
        conflict_token: builtins.bytes = ...,
        previous_manager_identity: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "conflict_token",
            b"conflict_token",
            "previous_manager_identity",
            b"previous_manager_identity",
        ],
    ) -> None: ...

global___SetWorkerDeploymentManagerResponse = SetWorkerDeploymentManagerResponse

class GetCurrentDeploymentRequest(google.protobuf.message.Message):
    """Returns the Current Deployment of a deployment series.
    [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    SERIES_NAME_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    series_name: builtins.str
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        series_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "series_name", b"series_name"
        ],
    ) -> None: ...

global___GetCurrentDeploymentRequest = GetCurrentDeploymentRequest

class GetCurrentDeploymentResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CURRENT_DEPLOYMENT_INFO_FIELD_NUMBER: builtins.int
    @property
    def current_deployment_info(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.DeploymentInfo: ...
    def __init__(
        self,
        *,
        current_deployment_info: temporalio.api.deployment.v1.message_pb2.DeploymentInfo
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "current_deployment_info", b"current_deployment_info"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "current_deployment_info", b"current_deployment_info"
        ],
    ) -> None: ...

global___GetCurrentDeploymentResponse = GetCurrentDeploymentResponse

class GetDeploymentReachabilityRequest(google.protobuf.message.Message):
    """[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    DEPLOYMENT_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def deployment(self) -> temporalio.api.deployment.v1.message_pb2.Deployment: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        deployment: temporalio.api.deployment.v1.message_pb2.Deployment | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["deployment", b"deployment"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment", b"deployment", "namespace", b"namespace"
        ],
    ) -> None: ...

global___GetDeploymentReachabilityRequest = GetDeploymentReachabilityRequest

class GetDeploymentReachabilityResponse(google.protobuf.message.Message):
    """[cleanup-wv-pre-release] Pre-release deployment APIs, clean up later"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DEPLOYMENT_INFO_FIELD_NUMBER: builtins.int
    REACHABILITY_FIELD_NUMBER: builtins.int
    LAST_UPDATE_TIME_FIELD_NUMBER: builtins.int
    @property
    def deployment_info(
        self,
    ) -> temporalio.api.deployment.v1.message_pb2.DeploymentInfo: ...
    reachability: (
        temporalio.api.enums.v1.deployment_pb2.DeploymentReachability.ValueType
    )
    @property
    def last_update_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Reachability level might come from server cache. This timestamp specifies when the value
        was actually calculated.
        """
    def __init__(
        self,
        *,
        deployment_info: temporalio.api.deployment.v1.message_pb2.DeploymentInfo
        | None = ...,
        reachability: temporalio.api.enums.v1.deployment_pb2.DeploymentReachability.ValueType = ...,
        last_update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_info",
            b"deployment_info",
            "last_update_time",
            b"last_update_time",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "deployment_info",
            b"deployment_info",
            "last_update_time",
            b"last_update_time",
            "reachability",
            b"reachability",
        ],
    ) -> None: ...

global___GetDeploymentReachabilityResponse = GetDeploymentReachabilityResponse

class CreateWorkflowRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    SPEC_FIELD_NUMBER: builtins.int
    FORCE_SCAN_FIELD_NUMBER: builtins.int
    REQUEST_ID_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def spec(self) -> temporalio.api.rules.v1.message_pb2.WorkflowRuleSpec:
        """The rule specification ."""
    force_scan: builtins.bool
    """If true, the rule will be applied to the currently running workflows via batch job.
    If not set , the rule will only be applied when triggering condition is satisfied.
    visibility_query in the rule will be used to select the workflows to apply the rule to.
    """
    request_id: builtins.str
    """Used to de-dupe requests. Typically should be UUID."""
    identity: builtins.str
    """Identity of the actor who created the rule. Will be stored with the rule."""
    description: builtins.str
    """Rule description.Will be stored with the rule."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        spec: temporalio.api.rules.v1.message_pb2.WorkflowRuleSpec | None = ...,
        force_scan: builtins.bool = ...,
        request_id: builtins.str = ...,
        identity: builtins.str = ...,
        description: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["spec", b"spec"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "description",
            b"description",
            "force_scan",
            b"force_scan",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "request_id",
            b"request_id",
            "spec",
            b"spec",
        ],
    ) -> None: ...

global___CreateWorkflowRuleRequest = CreateWorkflowRuleRequest

class CreateWorkflowRuleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RULE_FIELD_NUMBER: builtins.int
    JOB_ID_FIELD_NUMBER: builtins.int
    @property
    def rule(self) -> temporalio.api.rules.v1.message_pb2.WorkflowRule:
        """Created rule."""
    job_id: builtins.str
    """Batch Job ID if force-scan flag was provided. Otherwise empty."""
    def __init__(
        self,
        *,
        rule: temporalio.api.rules.v1.message_pb2.WorkflowRule | None = ...,
        job_id: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["rule", b"rule"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal["job_id", b"job_id", "rule", b"rule"],
    ) -> None: ...

global___CreateWorkflowRuleResponse = CreateWorkflowRuleResponse

class DescribeWorkflowRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    rule_id: builtins.str
    """User-specified ID of the rule to read. Unique within the namespace."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        rule_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "rule_id", b"rule_id"
        ],
    ) -> None: ...

global___DescribeWorkflowRuleRequest = DescribeWorkflowRuleRequest

class DescribeWorkflowRuleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RULE_FIELD_NUMBER: builtins.int
    @property
    def rule(self) -> temporalio.api.rules.v1.message_pb2.WorkflowRule:
        """The rule that was read."""
    def __init__(
        self,
        *,
        rule: temporalio.api.rules.v1.message_pb2.WorkflowRule | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["rule", b"rule"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["rule", b"rule"]
    ) -> None: ...

global___DescribeWorkflowRuleResponse = DescribeWorkflowRuleResponse

class DeleteWorkflowRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    rule_id: builtins.str
    """ID of the rule to delete. Unique within the namespace."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        rule_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "rule_id", b"rule_id"
        ],
    ) -> None: ...

global___DeleteWorkflowRuleRequest = DeleteWorkflowRuleRequest

class DeleteWorkflowRuleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___DeleteWorkflowRuleResponse = DeleteWorkflowRuleResponse

class ListWorkflowRulesRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "next_page_token", b"next_page_token"
        ],
    ) -> None: ...

global___ListWorkflowRulesRequest = ListWorkflowRulesRequest

class ListWorkflowRulesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RULES_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def rules(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.rules.v1.message_pb2.WorkflowRule
    ]: ...
    next_page_token: builtins.bytes
    def __init__(
        self,
        *,
        rules: collections.abc.Iterable[
            temporalio.api.rules.v1.message_pb2.WorkflowRule
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "next_page_token", b"next_page_token", "rules", b"rules"
        ],
    ) -> None: ...

global___ListWorkflowRulesResponse = ListWorkflowRulesResponse

class TriggerWorkflowRuleRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    EXECUTION_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    SPEC_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    @property
    def execution(self) -> temporalio.api.common.v1.message_pb2.WorkflowExecution:
        """Execution info of the workflow which scheduled this activity"""
    id: builtins.str
    @property
    def spec(self) -> temporalio.api.rules.v1.message_pb2.WorkflowRuleSpec:
        """Note: Rule ID and expiration date are not used in the trigger request."""
    identity: builtins.str
    """The identity of the client who initiated this request"""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        execution: temporalio.api.common.v1.message_pb2.WorkflowExecution | None = ...,
        id: builtins.str = ...,
        spec: temporalio.api.rules.v1.message_pb2.WorkflowRuleSpec | None = ...,
        identity: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "execution", b"execution", "id", b"id", "rule", b"rule", "spec", b"spec"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "execution",
            b"execution",
            "id",
            b"id",
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "rule",
            b"rule",
            "spec",
            b"spec",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["rule", b"rule"]
    ) -> typing_extensions.Literal["id", "spec"] | None: ...

global___TriggerWorkflowRuleRequest = TriggerWorkflowRuleRequest

class TriggerWorkflowRuleResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    APPLIED_FIELD_NUMBER: builtins.int
    applied: builtins.bool
    """True is the rule was applied, based on the rule conditions (predicate/visibility_query)."""
    def __init__(
        self,
        *,
        applied: builtins.bool = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["applied", b"applied"]
    ) -> None: ...

global___TriggerWorkflowRuleResponse = TriggerWorkflowRuleResponse

class RecordWorkerHeartbeatRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    WORKER_HEARTBEAT_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace this worker belongs to."""
    identity: builtins.str
    """The identity of the client who initiated this request."""
    @property
    def worker_heartbeat(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.worker.v1.message_pb2.WorkerHeartbeat
    ]: ...
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        identity: builtins.str = ...,
        worker_heartbeat: collections.abc.Iterable[
            temporalio.api.worker.v1.message_pb2.WorkerHeartbeat
        ]
        | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "worker_heartbeat",
            b"worker_heartbeat",
        ],
    ) -> None: ...

global___RecordWorkerHeartbeatRequest = RecordWorkerHeartbeatRequest

class RecordWorkerHeartbeatResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___RecordWorkerHeartbeatResponse = RecordWorkerHeartbeatResponse

class ListWorkersRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    QUERY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    page_size: builtins.int
    next_page_token: builtins.bytes
    query: builtins.str
    """`query` in ListWorkers is used to filter workers based on worker status info.
    The following worker status attributes are expected are supported as part of the query:
    * WorkerInstanceKey
    * WorkerIdentity
    * HostName
    * TaskQueue
    * DeploymentName
    * BuildId
    * SdkName
    * SdkVersion
    * StartTime
    * LastHeartbeatTime
    * Status
    Currently metrics are not supported as a part of ListWorkers query.
    """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        page_size: builtins.int = ...,
        next_page_token: builtins.bytes = ...,
        query: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace",
            b"namespace",
            "next_page_token",
            b"next_page_token",
            "page_size",
            b"page_size",
            "query",
            b"query",
        ],
    ) -> None: ...

global___ListWorkersRequest = ListWorkersRequest

class ListWorkersResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKERS_INFO_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def workers_info(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        temporalio.api.worker.v1.message_pb2.WorkerInfo
    ]: ...
    next_page_token: builtins.bytes
    """Next page token"""
    def __init__(
        self,
        *,
        workers_info: collections.abc.Iterable[
            temporalio.api.worker.v1.message_pb2.WorkerInfo
        ]
        | None = ...,
        next_page_token: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "next_page_token", b"next_page_token", "workers_info", b"workers_info"
        ],
    ) -> None: ...

global___ListWorkersResponse = ListWorkersResponse

class UpdateTaskQueueConfigRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class RateLimitUpdate(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        RATE_LIMIT_FIELD_NUMBER: builtins.int
        REASON_FIELD_NUMBER: builtins.int
        @property
        def rate_limit(self) -> temporalio.api.taskqueue.v1.message_pb2.RateLimit:
            """Rate Limit to be updated"""
        reason: builtins.str
        """Reason for why the rate limit was set."""
        def __init__(
            self,
            *,
            rate_limit: temporalio.api.taskqueue.v1.message_pb2.RateLimit | None = ...,
            reason: builtins.str = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing_extensions.Literal["rate_limit", b"rate_limit"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "rate_limit", b"rate_limit", "reason", b"reason"
            ],
        ) -> None: ...

    NAMESPACE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    TASK_QUEUE_FIELD_NUMBER: builtins.int
    TASK_QUEUE_TYPE_FIELD_NUMBER: builtins.int
    UPDATE_QUEUE_RATE_LIMIT_FIELD_NUMBER: builtins.int
    UPDATE_FAIRNESS_KEY_RATE_LIMIT_DEFAULT_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    identity: builtins.str
    task_queue: builtins.str
    """Selects the task queue to update."""
    task_queue_type: temporalio.api.enums.v1.task_queue_pb2.TaskQueueType.ValueType
    @property
    def update_queue_rate_limit(
        self,
    ) -> global___UpdateTaskQueueConfigRequest.RateLimitUpdate:
        """Update to queue-wide rate limit.
        If not set, this configuration is unchanged.
        NOTE: A limit set by the worker is overriden; and restored again when reset.
        If the `rate_limit` field in the `RateLimitUpdate` is missing, remove the existing rate limit.
        """
    @property
    def update_fairness_key_rate_limit_default(
        self,
    ) -> global___UpdateTaskQueueConfigRequest.RateLimitUpdate:
        """Update to the default fairness key rate limit.
        If not set, this configuration is unchanged.
        If the `rate_limit` field in the `RateLimitUpdate` is missing, remove the existing rate limit.
        """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        identity: builtins.str = ...,
        task_queue: builtins.str = ...,
        task_queue_type: temporalio.api.enums.v1.task_queue_pb2.TaskQueueType.ValueType = ...,
        update_queue_rate_limit: global___UpdateTaskQueueConfigRequest.RateLimitUpdate
        | None = ...,
        update_fairness_key_rate_limit_default: global___UpdateTaskQueueConfigRequest.RateLimitUpdate
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "update_fairness_key_rate_limit_default",
            b"update_fairness_key_rate_limit_default",
            "update_queue_rate_limit",
            b"update_queue_rate_limit",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "task_queue",
            b"task_queue",
            "task_queue_type",
            b"task_queue_type",
            "update_fairness_key_rate_limit_default",
            b"update_fairness_key_rate_limit_default",
            "update_queue_rate_limit",
            b"update_queue_rate_limit",
        ],
    ) -> None: ...

global___UpdateTaskQueueConfigRequest = UpdateTaskQueueConfigRequest

class UpdateTaskQueueConfigResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONFIG_FIELD_NUMBER: builtins.int
    @property
    def config(self) -> temporalio.api.taskqueue.v1.message_pb2.TaskQueueConfig: ...
    def __init__(
        self,
        *,
        config: temporalio.api.taskqueue.v1.message_pb2.TaskQueueConfig | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["config", b"config"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["config", b"config"]
    ) -> None: ...

global___UpdateTaskQueueConfigResponse = UpdateTaskQueueConfigResponse

class FetchWorkerConfigRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    SELECTOR_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace this worker belongs to."""
    identity: builtins.str
    """The identity of the client who initiated this request."""
    reason: builtins.str
    """Reason for sending worker command, can be used for audit purpose."""
    @property
    def selector(self) -> temporalio.api.common.v1.message_pb2.WorkerSelector:
        """Defines which workers should receive this command.
        only single worker is supported at this time.
        """
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        identity: builtins.str = ...,
        reason: builtins.str = ...,
        selector: temporalio.api.common.v1.message_pb2.WorkerSelector | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["selector", b"selector"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "reason",
            b"reason",
            "selector",
            b"selector",
        ],
    ) -> None: ...

global___FetchWorkerConfigRequest = FetchWorkerConfigRequest

class FetchWorkerConfigResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKER_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def worker_config(self) -> temporalio.api.sdk.v1.worker_config_pb2.WorkerConfig:
        """The worker configuration."""
    def __init__(
        self,
        *,
        worker_config: temporalio.api.sdk.v1.worker_config_pb2.WorkerConfig
        | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["worker_config", b"worker_config"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["worker_config", b"worker_config"]
    ) -> None: ...

global___FetchWorkerConfigResponse = FetchWorkerConfigResponse

class UpdateWorkerConfigRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    IDENTITY_FIELD_NUMBER: builtins.int
    REASON_FIELD_NUMBER: builtins.int
    WORKER_CONFIG_FIELD_NUMBER: builtins.int
    UPDATE_MASK_FIELD_NUMBER: builtins.int
    SELECTOR_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace this worker belongs to."""
    identity: builtins.str
    """The identity of the client who initiated this request."""
    reason: builtins.str
    """Reason for sending worker command, can be used for audit purpose."""
    @property
    def worker_config(self) -> temporalio.api.sdk.v1.worker_config_pb2.WorkerConfig:
        """Partial updates are accepted and controlled by update_mask.
        The worker configuration to set.
        """
    @property
    def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
        """Controls which fields from `worker_config` will be applied"""
    @property
    def selector(self) -> temporalio.api.common.v1.message_pb2.WorkerSelector:
        """Defines which workers should receive this command."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        identity: builtins.str = ...,
        reason: builtins.str = ...,
        worker_config: temporalio.api.sdk.v1.worker_config_pb2.WorkerConfig
        | None = ...,
        update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
        selector: temporalio.api.common.v1.message_pb2.WorkerSelector | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "selector",
            b"selector",
            "update_mask",
            b"update_mask",
            "worker_config",
            b"worker_config",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "identity",
            b"identity",
            "namespace",
            b"namespace",
            "reason",
            b"reason",
            "selector",
            b"selector",
            "update_mask",
            b"update_mask",
            "worker_config",
            b"worker_config",
        ],
    ) -> None: ...

global___UpdateWorkerConfigRequest = UpdateWorkerConfigRequest

class UpdateWorkerConfigResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKER_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def worker_config(self) -> temporalio.api.sdk.v1.worker_config_pb2.WorkerConfig:
        """The worker configuration. Will be returned if the command was sent to a single worker."""
    def __init__(
        self,
        *,
        worker_config: temporalio.api.sdk.v1.worker_config_pb2.WorkerConfig
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "response", b"response", "worker_config", b"worker_config"
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "response", b"response", "worker_config", b"worker_config"
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["response", b"response"]
    ) -> typing_extensions.Literal["worker_config"] | None: ...

global___UpdateWorkerConfigResponse = UpdateWorkerConfigResponse

class DescribeWorkerRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAMESPACE_FIELD_NUMBER: builtins.int
    WORKER_INSTANCE_KEY_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    """Namespace this worker belongs to."""
    worker_instance_key: builtins.str
    """Worker instance key to describe."""
    def __init__(
        self,
        *,
        namespace: builtins.str = ...,
        worker_instance_key: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "namespace", b"namespace", "worker_instance_key", b"worker_instance_key"
        ],
    ) -> None: ...

global___DescribeWorkerRequest = DescribeWorkerRequest

class DescribeWorkerResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKER_INFO_FIELD_NUMBER: builtins.int
    @property
    def worker_info(self) -> temporalio.api.worker.v1.message_pb2.WorkerInfo: ...
    def __init__(
        self,
        *,
        worker_info: temporalio.api.worker.v1.message_pb2.WorkerInfo | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["worker_info", b"worker_info"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["worker_info", b"worker_info"]
    ) -> None: ...

global___DescribeWorkerResponse = DescribeWorkerResponse
