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

import builtins
import sys

import google.protobuf.descriptor
import google.protobuf.message

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

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

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

        MIN_POLLERS_FIELD_NUMBER: builtins.int
        MAX_POLLERS_FIELD_NUMBER: builtins.int
        INITIAL_POLLERS_FIELD_NUMBER: builtins.int
        min_pollers: builtins.int
        """At least this many poll calls will always be attempted (assuming slots are available).
        Cannot be zero.
        """
        max_pollers: builtins.int
        """At most this many poll calls will ever be open at once. Must be >= `minimum`."""
        initial_pollers: builtins.int
        """This many polls will be attempted initially before scaling kicks in. Must be between
         `minimum` and `maximum`.
        """
        def __init__(
            self,
            *,
            min_pollers: builtins.int = ...,
            max_pollers: builtins.int = ...,
            initial_pollers: builtins.int = ...,
        ) -> None: ...
        def ClearField(
            self,
            field_name: typing_extensions.Literal[
                "initial_pollers",
                b"initial_pollers",
                "max_pollers",
                b"max_pollers",
                "min_pollers",
                b"min_pollers",
            ],
        ) -> None: ...

    WORKFLOW_CACHE_SIZE_FIELD_NUMBER: builtins.int
    SIMPLE_POLLER_BEHAVIOR_FIELD_NUMBER: builtins.int
    AUTOSCALING_POLLER_BEHAVIOR_FIELD_NUMBER: builtins.int
    workflow_cache_size: builtins.int
    @property
    def simple_poller_behavior(self) -> global___WorkerConfig.SimplePollerBehavior: ...
    @property
    def autoscaling_poller_behavior(
        self,
    ) -> global___WorkerConfig.AutoscalingPollerBehavior: ...
    def __init__(
        self,
        *,
        workflow_cache_size: builtins.int = ...,
        simple_poller_behavior: global___WorkerConfig.SimplePollerBehavior | None = ...,
        autoscaling_poller_behavior: global___WorkerConfig.AutoscalingPollerBehavior
        | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "autoscaling_poller_behavior",
            b"autoscaling_poller_behavior",
            "poller_behavior",
            b"poller_behavior",
            "simple_poller_behavior",
            b"simple_poller_behavior",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "autoscaling_poller_behavior",
            b"autoscaling_poller_behavior",
            "poller_behavior",
            b"poller_behavior",
            "simple_poller_behavior",
            b"simple_poller_behavior",
            "workflow_cache_size",
            b"workflow_cache_size",
        ],
    ) -> None: ...
    def WhichOneof(
        self,
        oneof_group: typing_extensions.Literal["poller_behavior", b"poller_behavior"],
    ) -> (
        typing_extensions.Literal[
            "simple_poller_behavior", "autoscaling_poller_behavior"
        ]
        | None
    ): ...

global___WorkerConfig = WorkerConfig
