# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from endpoints_pb2 import (
    ApiServiceDescriptor as endpoints_pb2___ApiServiceDescriptor,
)

from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
    FieldDescriptor as google___protobuf___descriptor___FieldDescriptor,
)

from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
    RepeatedScalarFieldContainer as google___protobuf___internal___containers___RepeatedScalarFieldContainer,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from typing import (
    Iterable as typing___Iterable,
    List as typing___List,
    Mapping as typing___Mapping,
    MutableMapping as typing___MutableMapping,
    Optional as typing___Optional,
    Text as typing___Text,
    Tuple as typing___Tuple,
    Union as typing___Union,
    cast as typing___cast,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int
builtin___str = str
if sys.version_info < (3,):
    builtin___buffer = buffer
    builtin___unicode = unicode


class BeamConstants(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Constants(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'BeamConstants.Constants': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['BeamConstants.Constants']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'BeamConstants.Constants']]: ...
        MIN_TIMESTAMP_MILLIS = typing___cast('BeamConstants.Constants', 0)
        MAX_TIMESTAMP_MILLIS = typing___cast('BeamConstants.Constants', 1)
        GLOBAL_WINDOW_MAX_TIMESTAMP_MILLIS = typing___cast('BeamConstants.Constants', 2)
    MIN_TIMESTAMP_MILLIS = typing___cast('BeamConstants.Constants', 0)
    MAX_TIMESTAMP_MILLIS = typing___cast('BeamConstants.Constants', 1)
    GLOBAL_WINDOW_MAX_TIMESTAMP_MILLIS = typing___cast('BeamConstants.Constants', 2)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> BeamConstants: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> BeamConstants: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class Components(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class TransformsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text

        @property
        def value(self) -> PTransform: ...

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[PTransform] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Components.TransformsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Components.TransformsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class PcollectionsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text

        @property
        def value(self) -> PCollection: ...

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[PCollection] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Components.PcollectionsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Components.PcollectionsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class WindowingStrategiesEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text

        @property
        def value(self) -> WindowingStrategy: ...

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[WindowingStrategy] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Components.WindowingStrategiesEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Components.WindowingStrategiesEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class CodersEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text

        @property
        def value(self) -> Coder: ...

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[Coder] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Components.CodersEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Components.CodersEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class EnvironmentsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text

        @property
        def value(self) -> Environment: ...

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[Environment] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Components.EnvironmentsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Components.EnvironmentsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...


    @property
    def transforms(self) -> typing___MutableMapping[typing___Text, PTransform]: ...

    @property
    def pcollections(self) -> typing___MutableMapping[typing___Text, PCollection]: ...

    @property
    def windowing_strategies(self) -> typing___MutableMapping[typing___Text, WindowingStrategy]: ...

    @property
    def coders(self) -> typing___MutableMapping[typing___Text, Coder]: ...

    @property
    def environments(self) -> typing___MutableMapping[typing___Text, Environment]: ...

    def __init__(self,
        *,
        transforms : typing___Optional[typing___Mapping[typing___Text, PTransform]] = None,
        pcollections : typing___Optional[typing___Mapping[typing___Text, PCollection]] = None,
        windowing_strategies : typing___Optional[typing___Mapping[typing___Text, WindowingStrategy]] = None,
        coders : typing___Optional[typing___Mapping[typing___Text, Coder]] = None,
        environments : typing___Optional[typing___Mapping[typing___Text, Environment]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Components: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Components: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"coders",u"environments",u"pcollections",u"transforms",u"windowing_strategies"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"coders",b"coders",u"environments",b"environments",u"pcollections",b"pcollections",u"transforms",b"transforms",u"windowing_strategies",b"windowing_strategies"]) -> None: ...

class Pipeline(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    root_transform_ids = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]
    requirements = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]

    @property
    def components(self) -> Components: ...

    @property
    def display_data(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[DisplayData]: ...

    def __init__(self,
        *,
        components : typing___Optional[Components] = None,
        root_transform_ids : typing___Optional[typing___Iterable[typing___Text]] = None,
        display_data : typing___Optional[typing___Iterable[DisplayData]] = None,
        requirements : typing___Optional[typing___Iterable[typing___Text]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Pipeline: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Pipeline: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"components"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"components",u"display_data",u"requirements",u"root_transform_ids"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"components",b"components"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"components",b"components",u"display_data",b"display_data",u"requirements",b"requirements",u"root_transform_ids",b"root_transform_ids"]) -> None: ...

class PTransform(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class InputsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text
        value = ... # type: typing___Text

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[typing___Text] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> PTransform.InputsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> PTransform.InputsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class OutputsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text
        value = ... # type: typing___Text

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[typing___Text] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> PTransform.OutputsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> PTransform.OutputsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class AnnotationsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text
        value = ... # type: builtin___bytes

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[builtin___bytes] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> PTransform.AnnotationsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> PTransform.AnnotationsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    unique_name = ... # type: typing___Text
    subtransforms = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]
    environment_id = ... # type: typing___Text

    @property
    def spec(self) -> FunctionSpec: ...

    @property
    def inputs(self) -> typing___MutableMapping[typing___Text, typing___Text]: ...

    @property
    def outputs(self) -> typing___MutableMapping[typing___Text, typing___Text]: ...

    @property
    def display_data(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[DisplayData]: ...

    @property
    def annotations(self) -> typing___MutableMapping[typing___Text, builtin___bytes]: ...

    def __init__(self,
        *,
        unique_name : typing___Optional[typing___Text] = None,
        spec : typing___Optional[FunctionSpec] = None,
        subtransforms : typing___Optional[typing___Iterable[typing___Text]] = None,
        inputs : typing___Optional[typing___Mapping[typing___Text, typing___Text]] = None,
        outputs : typing___Optional[typing___Mapping[typing___Text, typing___Text]] = None,
        display_data : typing___Optional[typing___Iterable[DisplayData]] = None,
        environment_id : typing___Optional[typing___Text] = None,
        annotations : typing___Optional[typing___Mapping[typing___Text, builtin___bytes]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> PTransform: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> PTransform: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"spec"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"annotations",u"display_data",u"environment_id",u"inputs",u"outputs",u"spec",u"subtransforms",u"unique_name"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"spec",b"spec"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"annotations",b"annotations",u"display_data",b"display_data",u"environment_id",b"environment_id",u"inputs",b"inputs",u"outputs",b"outputs",u"spec",b"spec",u"subtransforms",b"subtransforms",u"unique_name",b"unique_name"]) -> None: ...

class StandardPTransforms(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Primitives(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardPTransforms.Primitives': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardPTransforms.Primitives']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardPTransforms.Primitives']]: ...
        PAR_DO = typing___cast('StandardPTransforms.Primitives', 0)
        FLATTEN = typing___cast('StandardPTransforms.Primitives', 1)
        GROUP_BY_KEY = typing___cast('StandardPTransforms.Primitives', 2)
        IMPULSE = typing___cast('StandardPTransforms.Primitives', 3)
        ASSIGN_WINDOWS = typing___cast('StandardPTransforms.Primitives', 4)
        TEST_STREAM = typing___cast('StandardPTransforms.Primitives', 5)
        MAP_WINDOWS = typing___cast('StandardPTransforms.Primitives', 6)
        MERGE_WINDOWS = typing___cast('StandardPTransforms.Primitives', 7)
        TO_STRING = typing___cast('StandardPTransforms.Primitives', 8)
    PAR_DO = typing___cast('StandardPTransforms.Primitives', 0)
    FLATTEN = typing___cast('StandardPTransforms.Primitives', 1)
    GROUP_BY_KEY = typing___cast('StandardPTransforms.Primitives', 2)
    IMPULSE = typing___cast('StandardPTransforms.Primitives', 3)
    ASSIGN_WINDOWS = typing___cast('StandardPTransforms.Primitives', 4)
    TEST_STREAM = typing___cast('StandardPTransforms.Primitives', 5)
    MAP_WINDOWS = typing___cast('StandardPTransforms.Primitives', 6)
    MERGE_WINDOWS = typing___cast('StandardPTransforms.Primitives', 7)
    TO_STRING = typing___cast('StandardPTransforms.Primitives', 8)

    class DeprecatedPrimitives(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardPTransforms.DeprecatedPrimitives': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardPTransforms.DeprecatedPrimitives']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardPTransforms.DeprecatedPrimitives']]: ...
        READ = typing___cast('StandardPTransforms.DeprecatedPrimitives', 0)
        CREATE_VIEW = typing___cast('StandardPTransforms.DeprecatedPrimitives', 1)
    READ = typing___cast('StandardPTransforms.DeprecatedPrimitives', 0)
    CREATE_VIEW = typing___cast('StandardPTransforms.DeprecatedPrimitives', 1)

    class Composites(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardPTransforms.Composites': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardPTransforms.Composites']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardPTransforms.Composites']]: ...
        COMBINE_PER_KEY = typing___cast('StandardPTransforms.Composites', 0)
        COMBINE_GLOBALLY = typing___cast('StandardPTransforms.Composites', 1)
        RESHUFFLE = typing___cast('StandardPTransforms.Composites', 2)
        WRITE_FILES = typing___cast('StandardPTransforms.Composites', 3)
        PUBSUB_READ = typing___cast('StandardPTransforms.Composites', 4)
        PUBSUB_WRITE = typing___cast('StandardPTransforms.Composites', 5)
        GROUP_INTO_BATCHES_WITH_SHARDED_KEY = typing___cast('StandardPTransforms.Composites', 6)
    COMBINE_PER_KEY = typing___cast('StandardPTransforms.Composites', 0)
    COMBINE_GLOBALLY = typing___cast('StandardPTransforms.Composites', 1)
    RESHUFFLE = typing___cast('StandardPTransforms.Composites', 2)
    WRITE_FILES = typing___cast('StandardPTransforms.Composites', 3)
    PUBSUB_READ = typing___cast('StandardPTransforms.Composites', 4)
    PUBSUB_WRITE = typing___cast('StandardPTransforms.Composites', 5)
    GROUP_INTO_BATCHES_WITH_SHARDED_KEY = typing___cast('StandardPTransforms.Composites', 6)

    class CombineComponents(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardPTransforms.CombineComponents': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardPTransforms.CombineComponents']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardPTransforms.CombineComponents']]: ...
        COMBINE_PER_KEY_PRECOMBINE = typing___cast('StandardPTransforms.CombineComponents', 0)
        COMBINE_PER_KEY_MERGE_ACCUMULATORS = typing___cast('StandardPTransforms.CombineComponents', 1)
        COMBINE_PER_KEY_EXTRACT_OUTPUTS = typing___cast('StandardPTransforms.CombineComponents', 2)
        COMBINE_GROUPED_VALUES = typing___cast('StandardPTransforms.CombineComponents', 3)
        COMBINE_PER_KEY_CONVERT_TO_ACCUMULATORS = typing___cast('StandardPTransforms.CombineComponents', 4)
    COMBINE_PER_KEY_PRECOMBINE = typing___cast('StandardPTransforms.CombineComponents', 0)
    COMBINE_PER_KEY_MERGE_ACCUMULATORS = typing___cast('StandardPTransforms.CombineComponents', 1)
    COMBINE_PER_KEY_EXTRACT_OUTPUTS = typing___cast('StandardPTransforms.CombineComponents', 2)
    COMBINE_GROUPED_VALUES = typing___cast('StandardPTransforms.CombineComponents', 3)
    COMBINE_PER_KEY_CONVERT_TO_ACCUMULATORS = typing___cast('StandardPTransforms.CombineComponents', 4)

    class SplittableParDoComponents(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardPTransforms.SplittableParDoComponents': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardPTransforms.SplittableParDoComponents']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardPTransforms.SplittableParDoComponents']]: ...
        PAIR_WITH_RESTRICTION = typing___cast('StandardPTransforms.SplittableParDoComponents', 0)
        SPLIT_AND_SIZE_RESTRICTIONS = typing___cast('StandardPTransforms.SplittableParDoComponents', 1)
        PROCESS_SIZED_ELEMENTS_AND_RESTRICTIONS = typing___cast('StandardPTransforms.SplittableParDoComponents', 2)
        TRUNCATE_SIZED_RESTRICTION = typing___cast('StandardPTransforms.SplittableParDoComponents', 3)
    PAIR_WITH_RESTRICTION = typing___cast('StandardPTransforms.SplittableParDoComponents', 0)
    SPLIT_AND_SIZE_RESTRICTIONS = typing___cast('StandardPTransforms.SplittableParDoComponents', 1)
    PROCESS_SIZED_ELEMENTS_AND_RESTRICTIONS = typing___cast('StandardPTransforms.SplittableParDoComponents', 2)
    TRUNCATE_SIZED_RESTRICTION = typing___cast('StandardPTransforms.SplittableParDoComponents', 3)

    class GroupIntoBatchesComponents(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardPTransforms.GroupIntoBatchesComponents': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardPTransforms.GroupIntoBatchesComponents']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardPTransforms.GroupIntoBatchesComponents']]: ...
        GROUP_INTO_BATCHES = typing___cast('StandardPTransforms.GroupIntoBatchesComponents', 0)
    GROUP_INTO_BATCHES = typing___cast('StandardPTransforms.GroupIntoBatchesComponents', 0)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardPTransforms: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardPTransforms: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class StandardSideInputTypes(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardSideInputTypes.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardSideInputTypes.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardSideInputTypes.Enum']]: ...
        ITERABLE = typing___cast('StandardSideInputTypes.Enum', 0)
        MULTIMAP = typing___cast('StandardSideInputTypes.Enum', 1)
    ITERABLE = typing___cast('StandardSideInputTypes.Enum', 0)
    MULTIMAP = typing___cast('StandardSideInputTypes.Enum', 1)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardSideInputTypes: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardSideInputTypes: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class StandardUserStateTypes(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardUserStateTypes.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardUserStateTypes.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardUserStateTypes.Enum']]: ...
        BAG = typing___cast('StandardUserStateTypes.Enum', 0)
        MULTIMAP = typing___cast('StandardUserStateTypes.Enum', 1)
    BAG = typing___cast('StandardUserStateTypes.Enum', 0)
    MULTIMAP = typing___cast('StandardUserStateTypes.Enum', 1)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardUserStateTypes: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardUserStateTypes: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class PCollection(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    unique_name = ... # type: typing___Text
    coder_id = ... # type: typing___Text
    is_bounded = ... # type: IsBounded.Enum
    windowing_strategy_id = ... # type: typing___Text

    @property
    def display_data(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[DisplayData]: ...

    def __init__(self,
        *,
        unique_name : typing___Optional[typing___Text] = None,
        coder_id : typing___Optional[typing___Text] = None,
        is_bounded : typing___Optional[IsBounded.Enum] = None,
        windowing_strategy_id : typing___Optional[typing___Text] = None,
        display_data : typing___Optional[typing___Iterable[DisplayData]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> PCollection: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> PCollection: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"coder_id",u"display_data",u"is_bounded",u"unique_name",u"windowing_strategy_id"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"coder_id",b"coder_id",u"display_data",b"display_data",u"is_bounded",b"is_bounded",u"unique_name",b"unique_name",u"windowing_strategy_id",b"windowing_strategy_id"]) -> None: ...

class ParDoPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class SideInputsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text

        @property
        def value(self) -> SideInput: ...

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[SideInput] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ParDoPayload.SideInputsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ParDoPayload.SideInputsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class StateSpecsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text

        @property
        def value(self) -> StateSpec: ...

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[StateSpec] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ParDoPayload.StateSpecsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ParDoPayload.StateSpecsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    class TimerFamilySpecsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text

        @property
        def value(self) -> TimerFamilySpec: ...

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[TimerFamilySpec] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ParDoPayload.TimerFamilySpecsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ParDoPayload.TimerFamilySpecsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    restriction_coder_id = ... # type: typing___Text
    requests_finalization = ... # type: builtin___bool
    requires_time_sorted_input = ... # type: builtin___bool
    requires_stable_input = ... # type: builtin___bool
    on_window_expiration_timer_family_spec = ... # type: typing___Text

    @property
    def do_fn(self) -> FunctionSpec: ...

    @property
    def side_inputs(self) -> typing___MutableMapping[typing___Text, SideInput]: ...

    @property
    def state_specs(self) -> typing___MutableMapping[typing___Text, StateSpec]: ...

    @property
    def timer_family_specs(self) -> typing___MutableMapping[typing___Text, TimerFamilySpec]: ...

    def __init__(self,
        *,
        do_fn : typing___Optional[FunctionSpec] = None,
        side_inputs : typing___Optional[typing___Mapping[typing___Text, SideInput]] = None,
        state_specs : typing___Optional[typing___Mapping[typing___Text, StateSpec]] = None,
        timer_family_specs : typing___Optional[typing___Mapping[typing___Text, TimerFamilySpec]] = None,
        restriction_coder_id : typing___Optional[typing___Text] = None,
        requests_finalization : typing___Optional[builtin___bool] = None,
        requires_time_sorted_input : typing___Optional[builtin___bool] = None,
        requires_stable_input : typing___Optional[builtin___bool] = None,
        on_window_expiration_timer_family_spec : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ParDoPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ParDoPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"do_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"do_fn",u"on_window_expiration_timer_family_spec",u"requests_finalization",u"requires_stable_input",u"requires_time_sorted_input",u"restriction_coder_id",u"side_inputs",u"state_specs",u"timer_family_specs"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"do_fn",b"do_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"do_fn",b"do_fn",u"on_window_expiration_timer_family_spec",b"on_window_expiration_timer_family_spec",u"requests_finalization",b"requests_finalization",u"requires_stable_input",b"requires_stable_input",u"requires_time_sorted_input",b"requires_time_sorted_input",u"restriction_coder_id",b"restriction_coder_id",u"side_inputs",b"side_inputs",u"state_specs",b"state_specs",u"timer_family_specs",b"timer_family_specs"]) -> None: ...

class StateSpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def read_modify_write_spec(self) -> ReadModifyWriteStateSpec: ...

    @property
    def bag_spec(self) -> BagStateSpec: ...

    @property
    def combining_spec(self) -> CombiningStateSpec: ...

    @property
    def map_spec(self) -> MapStateSpec: ...

    @property
    def set_spec(self) -> SetStateSpec: ...

    @property
    def ordered_list_spec(self) -> OrderedListStateSpec: ...

    @property
    def protocol(self) -> FunctionSpec: ...

    def __init__(self,
        *,
        read_modify_write_spec : typing___Optional[ReadModifyWriteStateSpec] = None,
        bag_spec : typing___Optional[BagStateSpec] = None,
        combining_spec : typing___Optional[CombiningStateSpec] = None,
        map_spec : typing___Optional[MapStateSpec] = None,
        set_spec : typing___Optional[SetStateSpec] = None,
        ordered_list_spec : typing___Optional[OrderedListStateSpec] = None,
        protocol : typing___Optional[FunctionSpec] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StateSpec: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StateSpec: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"bag_spec",u"combining_spec",u"map_spec",u"ordered_list_spec",u"protocol",u"read_modify_write_spec",u"set_spec",u"spec"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"bag_spec",u"combining_spec",u"map_spec",u"ordered_list_spec",u"protocol",u"read_modify_write_spec",u"set_spec",u"spec"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"bag_spec",b"bag_spec",u"combining_spec",b"combining_spec",u"map_spec",b"map_spec",u"ordered_list_spec",b"ordered_list_spec",u"protocol",b"protocol",u"read_modify_write_spec",b"read_modify_write_spec",u"set_spec",b"set_spec",u"spec",b"spec"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"bag_spec",b"bag_spec",u"combining_spec",b"combining_spec",u"map_spec",b"map_spec",u"ordered_list_spec",b"ordered_list_spec",u"protocol",b"protocol",u"read_modify_write_spec",b"read_modify_write_spec",u"set_spec",b"set_spec",u"spec",b"spec"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"spec",b"spec"]) -> typing_extensions___Literal["read_modify_write_spec","bag_spec","combining_spec","map_spec","set_spec","ordered_list_spec"]: ...

class ReadModifyWriteStateSpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    coder_id = ... # type: typing___Text

    def __init__(self,
        *,
        coder_id : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ReadModifyWriteStateSpec: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ReadModifyWriteStateSpec: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"coder_id"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"coder_id",b"coder_id"]) -> None: ...

class BagStateSpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    element_coder_id = ... # type: typing___Text

    def __init__(self,
        *,
        element_coder_id : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> BagStateSpec: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> BagStateSpec: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"element_coder_id"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"element_coder_id",b"element_coder_id"]) -> None: ...

class OrderedListStateSpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    element_coder_id = ... # type: typing___Text

    def __init__(self,
        *,
        element_coder_id : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> OrderedListStateSpec: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> OrderedListStateSpec: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"element_coder_id"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"element_coder_id",b"element_coder_id"]) -> None: ...

class CombiningStateSpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    accumulator_coder_id = ... # type: typing___Text

    @property
    def combine_fn(self) -> FunctionSpec: ...

    def __init__(self,
        *,
        accumulator_coder_id : typing___Optional[typing___Text] = None,
        combine_fn : typing___Optional[FunctionSpec] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> CombiningStateSpec: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> CombiningStateSpec: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"combine_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accumulator_coder_id",u"combine_fn"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"combine_fn",b"combine_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accumulator_coder_id",b"accumulator_coder_id",u"combine_fn",b"combine_fn"]) -> None: ...

class MapStateSpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    key_coder_id = ... # type: typing___Text
    value_coder_id = ... # type: typing___Text

    def __init__(self,
        *,
        key_coder_id : typing___Optional[typing___Text] = None,
        value_coder_id : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> MapStateSpec: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> MapStateSpec: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"key_coder_id",u"value_coder_id"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"key_coder_id",b"key_coder_id",u"value_coder_id",b"value_coder_id"]) -> None: ...

class SetStateSpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    element_coder_id = ... # type: typing___Text

    def __init__(self,
        *,
        element_coder_id : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> SetStateSpec: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> SetStateSpec: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"element_coder_id"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"element_coder_id",b"element_coder_id"]) -> None: ...

class TimerFamilySpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    time_domain = ... # type: TimeDomain.Enum
    timer_family_coder_id = ... # type: typing___Text

    def __init__(self,
        *,
        time_domain : typing___Optional[TimeDomain.Enum] = None,
        timer_family_coder_id : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> TimerFamilySpec: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TimerFamilySpec: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"time_domain",u"timer_family_coder_id"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"time_domain",b"time_domain",u"timer_family_coder_id",b"timer_family_coder_id"]) -> None: ...

class IsBounded(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'IsBounded.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['IsBounded.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'IsBounded.Enum']]: ...
        UNSPECIFIED = typing___cast('IsBounded.Enum', 0)
        UNBOUNDED = typing___cast('IsBounded.Enum', 1)
        BOUNDED = typing___cast('IsBounded.Enum', 2)
    UNSPECIFIED = typing___cast('IsBounded.Enum', 0)
    UNBOUNDED = typing___cast('IsBounded.Enum', 1)
    BOUNDED = typing___cast('IsBounded.Enum', 2)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> IsBounded: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> IsBounded: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class ReadPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    is_bounded = ... # type: IsBounded.Enum

    @property
    def source(self) -> FunctionSpec: ...

    def __init__(self,
        *,
        source : typing___Optional[FunctionSpec] = None,
        is_bounded : typing___Optional[IsBounded.Enum] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ReadPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ReadPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"source"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"is_bounded",u"source"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"source",b"source"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"is_bounded",b"is_bounded",u"source",b"source"]) -> None: ...

class WindowIntoPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def window_fn(self) -> FunctionSpec: ...

    def __init__(self,
        *,
        window_fn : typing___Optional[FunctionSpec] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> WindowIntoPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> WindowIntoPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"window_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"window_fn"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"window_fn",b"window_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"window_fn",b"window_fn"]) -> None: ...

class CombinePayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    accumulator_coder_id = ... # type: typing___Text

    @property
    def combine_fn(self) -> FunctionSpec: ...

    def __init__(self,
        *,
        combine_fn : typing___Optional[FunctionSpec] = None,
        accumulator_coder_id : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> CombinePayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> CombinePayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"combine_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accumulator_coder_id",u"combine_fn"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"combine_fn",b"combine_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accumulator_coder_id",b"accumulator_coder_id",u"combine_fn",b"combine_fn"]) -> None: ...

class TestStreamPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Event(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        class AdvanceWatermark(google___protobuf___message___Message):
            DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
            new_watermark = ... # type: builtin___int
            tag = ... # type: typing___Text

            def __init__(self,
                *,
                new_watermark : typing___Optional[builtin___int] = None,
                tag : typing___Optional[typing___Text] = None,
                ) -> None: ...
            if sys.version_info >= (3,):
                @classmethod
                def FromString(cls, s: builtin___bytes) -> TestStreamPayload.Event.AdvanceWatermark: ...
            else:
                @classmethod
                def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TestStreamPayload.Event.AdvanceWatermark: ...
            def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
            def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
            if sys.version_info >= (3,):
                def ClearField(self, field_name: typing_extensions___Literal[u"new_watermark",u"tag"]) -> None: ...
            else:
                def ClearField(self, field_name: typing_extensions___Literal[u"new_watermark",b"new_watermark",u"tag",b"tag"]) -> None: ...

        class AdvanceProcessingTime(google___protobuf___message___Message):
            DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
            advance_duration = ... # type: builtin___int

            def __init__(self,
                *,
                advance_duration : typing___Optional[builtin___int] = None,
                ) -> None: ...
            if sys.version_info >= (3,):
                @classmethod
                def FromString(cls, s: builtin___bytes) -> TestStreamPayload.Event.AdvanceProcessingTime: ...
            else:
                @classmethod
                def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TestStreamPayload.Event.AdvanceProcessingTime: ...
            def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
            def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
            if sys.version_info >= (3,):
                def ClearField(self, field_name: typing_extensions___Literal[u"advance_duration"]) -> None: ...
            else:
                def ClearField(self, field_name: typing_extensions___Literal[u"advance_duration",b"advance_duration"]) -> None: ...

        class AddElements(google___protobuf___message___Message):
            DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
            tag = ... # type: typing___Text

            @property
            def elements(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[TestStreamPayload.TimestampedElement]: ...

            def __init__(self,
                *,
                elements : typing___Optional[typing___Iterable[TestStreamPayload.TimestampedElement]] = None,
                tag : typing___Optional[typing___Text] = None,
                ) -> None: ...
            if sys.version_info >= (3,):
                @classmethod
                def FromString(cls, s: builtin___bytes) -> TestStreamPayload.Event.AddElements: ...
            else:
                @classmethod
                def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TestStreamPayload.Event.AddElements: ...
            def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
            def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
            if sys.version_info >= (3,):
                def ClearField(self, field_name: typing_extensions___Literal[u"elements",u"tag"]) -> None: ...
            else:
                def ClearField(self, field_name: typing_extensions___Literal[u"elements",b"elements",u"tag",b"tag"]) -> None: ...


        @property
        def watermark_event(self) -> TestStreamPayload.Event.AdvanceWatermark: ...

        @property
        def processing_time_event(self) -> TestStreamPayload.Event.AdvanceProcessingTime: ...

        @property
        def element_event(self) -> TestStreamPayload.Event.AddElements: ...

        def __init__(self,
            *,
            watermark_event : typing___Optional[TestStreamPayload.Event.AdvanceWatermark] = None,
            processing_time_event : typing___Optional[TestStreamPayload.Event.AdvanceProcessingTime] = None,
            element_event : typing___Optional[TestStreamPayload.Event.AddElements] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> TestStreamPayload.Event: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TestStreamPayload.Event: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"element_event",u"event",u"processing_time_event",u"watermark_event"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"element_event",u"event",u"processing_time_event",u"watermark_event"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"element_event",b"element_event",u"event",b"event",u"processing_time_event",b"processing_time_event",u"watermark_event",b"watermark_event"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"element_event",b"element_event",u"event",b"event",u"processing_time_event",b"processing_time_event",u"watermark_event",b"watermark_event"]) -> None: ...
        def WhichOneof(self, oneof_group: typing_extensions___Literal[u"event",b"event"]) -> typing_extensions___Literal["watermark_event","processing_time_event","element_event"]: ...

    class TimestampedElement(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        encoded_element = ... # type: builtin___bytes
        timestamp = ... # type: builtin___int

        def __init__(self,
            *,
            encoded_element : typing___Optional[builtin___bytes] = None,
            timestamp : typing___Optional[builtin___int] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> TestStreamPayload.TimestampedElement: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TestStreamPayload.TimestampedElement: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"encoded_element",u"timestamp"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"encoded_element",b"encoded_element",u"timestamp",b"timestamp"]) -> None: ...

    coder_id = ... # type: typing___Text

    @property
    def events(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[TestStreamPayload.Event]: ...

    @property
    def endpoint(self) -> endpoints_pb2___ApiServiceDescriptor: ...

    def __init__(self,
        *,
        coder_id : typing___Optional[typing___Text] = None,
        events : typing___Optional[typing___Iterable[TestStreamPayload.Event]] = None,
        endpoint : typing___Optional[endpoints_pb2___ApiServiceDescriptor] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> TestStreamPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TestStreamPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"endpoint"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"coder_id",u"endpoint",u"events"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"endpoint",b"endpoint"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"coder_id",b"coder_id",u"endpoint",b"endpoint",u"events",b"events"]) -> None: ...

class EventsRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    output_ids = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]

    def __init__(self,
        *,
        output_ids : typing___Optional[typing___Iterable[typing___Text]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> EventsRequest: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> EventsRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"output_ids"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"output_ids",b"output_ids"]) -> None: ...

class WriteFilesPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class SideInputsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text

        @property
        def value(self) -> SideInput: ...

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[SideInput] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> WriteFilesPayload.SideInputsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> WriteFilesPayload.SideInputsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"value",b"value"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    windowed_writes = ... # type: builtin___bool
    runner_determined_sharding = ... # type: builtin___bool

    @property
    def sink(self) -> FunctionSpec: ...

    @property
    def format_function(self) -> FunctionSpec: ...

    @property
    def side_inputs(self) -> typing___MutableMapping[typing___Text, SideInput]: ...

    def __init__(self,
        *,
        sink : typing___Optional[FunctionSpec] = None,
        format_function : typing___Optional[FunctionSpec] = None,
        windowed_writes : typing___Optional[builtin___bool] = None,
        runner_determined_sharding : typing___Optional[builtin___bool] = None,
        side_inputs : typing___Optional[typing___Mapping[typing___Text, SideInput]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> WriteFilesPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> WriteFilesPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"format_function",u"sink"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"format_function",u"runner_determined_sharding",u"side_inputs",u"sink",u"windowed_writes"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"format_function",b"format_function",u"sink",b"sink"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"format_function",b"format_function",u"runner_determined_sharding",b"runner_determined_sharding",u"side_inputs",b"side_inputs",u"sink",b"sink",u"windowed_writes",b"windowed_writes"]) -> None: ...

class PubSubReadPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    topic = ... # type: typing___Text
    subscription = ... # type: typing___Text
    timestamp_attribute = ... # type: typing___Text
    id_attribute = ... # type: typing___Text
    with_attributes = ... # type: builtin___bool
    topic_runtime_overridden = ... # type: typing___Text
    subscription_runtime_overridden = ... # type: typing___Text

    def __init__(self,
        *,
        topic : typing___Optional[typing___Text] = None,
        subscription : typing___Optional[typing___Text] = None,
        timestamp_attribute : typing___Optional[typing___Text] = None,
        id_attribute : typing___Optional[typing___Text] = None,
        with_attributes : typing___Optional[builtin___bool] = None,
        topic_runtime_overridden : typing___Optional[typing___Text] = None,
        subscription_runtime_overridden : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> PubSubReadPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> PubSubReadPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"id_attribute",u"subscription",u"subscription_runtime_overridden",u"timestamp_attribute",u"topic",u"topic_runtime_overridden",u"with_attributes"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"id_attribute",b"id_attribute",u"subscription",b"subscription",u"subscription_runtime_overridden",b"subscription_runtime_overridden",u"timestamp_attribute",b"timestamp_attribute",u"topic",b"topic",u"topic_runtime_overridden",b"topic_runtime_overridden",u"with_attributes",b"with_attributes"]) -> None: ...

class PubSubWritePayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    topic = ... # type: typing___Text
    timestamp_attribute = ... # type: typing___Text
    id_attribute = ... # type: typing___Text
    topic_runtime_overridden = ... # type: typing___Text

    def __init__(self,
        *,
        topic : typing___Optional[typing___Text] = None,
        timestamp_attribute : typing___Optional[typing___Text] = None,
        id_attribute : typing___Optional[typing___Text] = None,
        topic_runtime_overridden : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> PubSubWritePayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> PubSubWritePayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"id_attribute",u"timestamp_attribute",u"topic",u"topic_runtime_overridden"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"id_attribute",b"id_attribute",u"timestamp_attribute",b"timestamp_attribute",u"topic",b"topic",u"topic_runtime_overridden",b"topic_runtime_overridden"]) -> None: ...

class GroupIntoBatchesPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    batch_size = ... # type: builtin___int
    batch_size_bytes = ... # type: builtin___int
    max_buffering_duration_millis = ... # type: builtin___int

    def __init__(self,
        *,
        batch_size : typing___Optional[builtin___int] = None,
        batch_size_bytes : typing___Optional[builtin___int] = None,
        max_buffering_duration_millis : typing___Optional[builtin___int] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> GroupIntoBatchesPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> GroupIntoBatchesPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"batch_size",u"batch_size_bytes",u"max_buffering_duration_millis"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"batch_size",b"batch_size",u"batch_size_bytes",b"batch_size_bytes",u"max_buffering_duration_millis",b"max_buffering_duration_millis"]) -> None: ...

class Coder(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    component_coder_ids = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]

    @property
    def spec(self) -> FunctionSpec: ...

    def __init__(self,
        *,
        spec : typing___Optional[FunctionSpec] = None,
        component_coder_ids : typing___Optional[typing___Iterable[typing___Text]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Coder: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Coder: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"spec"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"component_coder_ids",u"spec"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"spec",b"spec"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"component_coder_ids",b"component_coder_ids",u"spec",b"spec"]) -> None: ...

class StandardCoders(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardCoders.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardCoders.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardCoders.Enum']]: ...
        BYTES = typing___cast('StandardCoders.Enum', 0)
        STRING_UTF8 = typing___cast('StandardCoders.Enum', 10)
        KV = typing___cast('StandardCoders.Enum', 1)
        BOOL = typing___cast('StandardCoders.Enum', 12)
        VARINT = typing___cast('StandardCoders.Enum', 2)
        DOUBLE = typing___cast('StandardCoders.Enum', 11)
        ITERABLE = typing___cast('StandardCoders.Enum', 3)
        TIMER = typing___cast('StandardCoders.Enum', 4)
        INTERVAL_WINDOW = typing___cast('StandardCoders.Enum', 5)
        LENGTH_PREFIX = typing___cast('StandardCoders.Enum', 6)
        GLOBAL_WINDOW = typing___cast('StandardCoders.Enum', 7)
        WINDOWED_VALUE = typing___cast('StandardCoders.Enum', 8)
        PARAM_WINDOWED_VALUE = typing___cast('StandardCoders.Enum', 14)
        STATE_BACKED_ITERABLE = typing___cast('StandardCoders.Enum', 9)
        CUSTOM_WINDOW = typing___cast('StandardCoders.Enum', 16)
        ROW = typing___cast('StandardCoders.Enum', 13)
        SHARDED_KEY = typing___cast('StandardCoders.Enum', 15)
    BYTES = typing___cast('StandardCoders.Enum', 0)
    STRING_UTF8 = typing___cast('StandardCoders.Enum', 10)
    KV = typing___cast('StandardCoders.Enum', 1)
    BOOL = typing___cast('StandardCoders.Enum', 12)
    VARINT = typing___cast('StandardCoders.Enum', 2)
    DOUBLE = typing___cast('StandardCoders.Enum', 11)
    ITERABLE = typing___cast('StandardCoders.Enum', 3)
    TIMER = typing___cast('StandardCoders.Enum', 4)
    INTERVAL_WINDOW = typing___cast('StandardCoders.Enum', 5)
    LENGTH_PREFIX = typing___cast('StandardCoders.Enum', 6)
    GLOBAL_WINDOW = typing___cast('StandardCoders.Enum', 7)
    WINDOWED_VALUE = typing___cast('StandardCoders.Enum', 8)
    PARAM_WINDOWED_VALUE = typing___cast('StandardCoders.Enum', 14)
    STATE_BACKED_ITERABLE = typing___cast('StandardCoders.Enum', 9)
    CUSTOM_WINDOW = typing___cast('StandardCoders.Enum', 16)
    ROW = typing___cast('StandardCoders.Enum', 13)
    SHARDED_KEY = typing___cast('StandardCoders.Enum', 15)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardCoders: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardCoders: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class WindowingStrategy(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    merge_status = ... # type: MergeStatus.Enum
    window_coder_id = ... # type: typing___Text
    accumulation_mode = ... # type: AccumulationMode.Enum
    output_time = ... # type: OutputTime.Enum
    closing_behavior = ... # type: ClosingBehavior.Enum
    allowed_lateness = ... # type: builtin___int
    on_time_behavior = ... # type: OnTimeBehavior.Enum
    assigns_to_one_window = ... # type: builtin___bool
    environment_id = ... # type: typing___Text

    @property
    def window_fn(self) -> FunctionSpec: ...

    @property
    def trigger(self) -> Trigger: ...

    def __init__(self,
        *,
        window_fn : typing___Optional[FunctionSpec] = None,
        merge_status : typing___Optional[MergeStatus.Enum] = None,
        window_coder_id : typing___Optional[typing___Text] = None,
        trigger : typing___Optional[Trigger] = None,
        accumulation_mode : typing___Optional[AccumulationMode.Enum] = None,
        output_time : typing___Optional[OutputTime.Enum] = None,
        closing_behavior : typing___Optional[ClosingBehavior.Enum] = None,
        allowed_lateness : typing___Optional[builtin___int] = None,
        on_time_behavior : typing___Optional[OnTimeBehavior.Enum] = None,
        assigns_to_one_window : typing___Optional[builtin___bool] = None,
        environment_id : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> WindowingStrategy: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> WindowingStrategy: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"trigger",u"window_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accumulation_mode",u"allowed_lateness",u"assigns_to_one_window",u"closing_behavior",u"environment_id",u"merge_status",u"on_time_behavior",u"output_time",u"trigger",u"window_coder_id",u"window_fn"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"trigger",b"trigger",u"window_fn",b"window_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"accumulation_mode",b"accumulation_mode",u"allowed_lateness",b"allowed_lateness",u"assigns_to_one_window",b"assigns_to_one_window",u"closing_behavior",b"closing_behavior",u"environment_id",b"environment_id",u"merge_status",b"merge_status",u"on_time_behavior",b"on_time_behavior",u"output_time",b"output_time",u"trigger",b"trigger",u"window_coder_id",b"window_coder_id",u"window_fn",b"window_fn"]) -> None: ...

class MergeStatus(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'MergeStatus.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['MergeStatus.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'MergeStatus.Enum']]: ...
        UNSPECIFIED = typing___cast('MergeStatus.Enum', 0)
        NON_MERGING = typing___cast('MergeStatus.Enum', 1)
        NEEDS_MERGE = typing___cast('MergeStatus.Enum', 2)
        ALREADY_MERGED = typing___cast('MergeStatus.Enum', 3)
    UNSPECIFIED = typing___cast('MergeStatus.Enum', 0)
    NON_MERGING = typing___cast('MergeStatus.Enum', 1)
    NEEDS_MERGE = typing___cast('MergeStatus.Enum', 2)
    ALREADY_MERGED = typing___cast('MergeStatus.Enum', 3)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> MergeStatus: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> MergeStatus: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class AccumulationMode(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'AccumulationMode.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['AccumulationMode.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'AccumulationMode.Enum']]: ...
        UNSPECIFIED = typing___cast('AccumulationMode.Enum', 0)
        DISCARDING = typing___cast('AccumulationMode.Enum', 1)
        ACCUMULATING = typing___cast('AccumulationMode.Enum', 2)
        RETRACTING = typing___cast('AccumulationMode.Enum', 3)
    UNSPECIFIED = typing___cast('AccumulationMode.Enum', 0)
    DISCARDING = typing___cast('AccumulationMode.Enum', 1)
    ACCUMULATING = typing___cast('AccumulationMode.Enum', 2)
    RETRACTING = typing___cast('AccumulationMode.Enum', 3)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> AccumulationMode: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> AccumulationMode: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class ClosingBehavior(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'ClosingBehavior.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['ClosingBehavior.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'ClosingBehavior.Enum']]: ...
        UNSPECIFIED = typing___cast('ClosingBehavior.Enum', 0)
        EMIT_ALWAYS = typing___cast('ClosingBehavior.Enum', 1)
        EMIT_IF_NONEMPTY = typing___cast('ClosingBehavior.Enum', 2)
    UNSPECIFIED = typing___cast('ClosingBehavior.Enum', 0)
    EMIT_ALWAYS = typing___cast('ClosingBehavior.Enum', 1)
    EMIT_IF_NONEMPTY = typing___cast('ClosingBehavior.Enum', 2)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ClosingBehavior: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ClosingBehavior: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class OnTimeBehavior(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'OnTimeBehavior.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['OnTimeBehavior.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'OnTimeBehavior.Enum']]: ...
        UNSPECIFIED = typing___cast('OnTimeBehavior.Enum', 0)
        FIRE_ALWAYS = typing___cast('OnTimeBehavior.Enum', 1)
        FIRE_IF_NONEMPTY = typing___cast('OnTimeBehavior.Enum', 2)
    UNSPECIFIED = typing___cast('OnTimeBehavior.Enum', 0)
    FIRE_ALWAYS = typing___cast('OnTimeBehavior.Enum', 1)
    FIRE_IF_NONEMPTY = typing___cast('OnTimeBehavior.Enum', 2)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> OnTimeBehavior: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> OnTimeBehavior: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class OutputTime(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'OutputTime.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['OutputTime.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'OutputTime.Enum']]: ...
        UNSPECIFIED = typing___cast('OutputTime.Enum', 0)
        END_OF_WINDOW = typing___cast('OutputTime.Enum', 1)
        LATEST_IN_PANE = typing___cast('OutputTime.Enum', 2)
        EARLIEST_IN_PANE = typing___cast('OutputTime.Enum', 3)
    UNSPECIFIED = typing___cast('OutputTime.Enum', 0)
    END_OF_WINDOW = typing___cast('OutputTime.Enum', 1)
    LATEST_IN_PANE = typing___cast('OutputTime.Enum', 2)
    EARLIEST_IN_PANE = typing___cast('OutputTime.Enum', 3)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> OutputTime: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> OutputTime: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class TimeDomain(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'TimeDomain.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['TimeDomain.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'TimeDomain.Enum']]: ...
        UNSPECIFIED = typing___cast('TimeDomain.Enum', 0)
        EVENT_TIME = typing___cast('TimeDomain.Enum', 1)
        PROCESSING_TIME = typing___cast('TimeDomain.Enum', 2)
    UNSPECIFIED = typing___cast('TimeDomain.Enum', 0)
    EVENT_TIME = typing___cast('TimeDomain.Enum', 1)
    PROCESSING_TIME = typing___cast('TimeDomain.Enum', 2)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> TimeDomain: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TimeDomain: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class Trigger(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class AfterAll(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        @property
        def subtriggers(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[Trigger]: ...

        def __init__(self,
            *,
            subtriggers : typing___Optional[typing___Iterable[Trigger]] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.AfterAll: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.AfterAll: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"subtriggers"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"subtriggers",b"subtriggers"]) -> None: ...

    class AfterAny(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        @property
        def subtriggers(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[Trigger]: ...

        def __init__(self,
            *,
            subtriggers : typing___Optional[typing___Iterable[Trigger]] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.AfterAny: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.AfterAny: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"subtriggers"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"subtriggers",b"subtriggers"]) -> None: ...

    class AfterEach(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        @property
        def subtriggers(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[Trigger]: ...

        def __init__(self,
            *,
            subtriggers : typing___Optional[typing___Iterable[Trigger]] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.AfterEach: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.AfterEach: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"subtriggers"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"subtriggers",b"subtriggers"]) -> None: ...

    class AfterEndOfWindow(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        @property
        def early_firings(self) -> Trigger: ...

        @property
        def late_firings(self) -> Trigger: ...

        def __init__(self,
            *,
            early_firings : typing___Optional[Trigger] = None,
            late_firings : typing___Optional[Trigger] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.AfterEndOfWindow: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.AfterEndOfWindow: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"early_firings",u"late_firings"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"early_firings",u"late_firings"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"early_firings",b"early_firings",u"late_firings",b"late_firings"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"early_firings",b"early_firings",u"late_firings",b"late_firings"]) -> None: ...

    class AfterProcessingTime(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        @property
        def timestamp_transforms(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[TimestampTransform]: ...

        def __init__(self,
            *,
            timestamp_transforms : typing___Optional[typing___Iterable[TimestampTransform]] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.AfterProcessingTime: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.AfterProcessingTime: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"timestamp_transforms"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"timestamp_transforms",b"timestamp_transforms"]) -> None: ...

    class AfterSynchronizedProcessingTime(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        def __init__(self,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.AfterSynchronizedProcessingTime: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.AfterSynchronizedProcessingTime: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

    class Default(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        def __init__(self,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.Default: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.Default: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

    class ElementCount(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        element_count = ... # type: builtin___int

        def __init__(self,
            *,
            element_count : typing___Optional[builtin___int] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.ElementCount: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.ElementCount: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"element_count"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"element_count",b"element_count"]) -> None: ...

    class Never(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        def __init__(self,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.Never: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.Never: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

    class Always(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        def __init__(self,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.Always: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.Always: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

    class OrFinally(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        @property
        def main(self) -> Trigger: ...

        def __init__(self,
            *,
            main : typing___Optional[Trigger] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.OrFinally: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.OrFinally: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"finally",u"main"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"finally",u"main"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"finally",b"finally",u"main",b"main"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"finally",b"finally",u"main",b"main"]) -> None: ...

    class Repeat(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

        @property
        def subtrigger(self) -> Trigger: ...

        def __init__(self,
            *,
            subtrigger : typing___Optional[Trigger] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Trigger.Repeat: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger.Repeat: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"subtrigger"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"subtrigger"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"subtrigger",b"subtrigger"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"subtrigger",b"subtrigger"]) -> None: ...


    @property
    def after_all(self) -> Trigger.AfterAll: ...

    @property
    def after_any(self) -> Trigger.AfterAny: ...

    @property
    def after_each(self) -> Trigger.AfterEach: ...

    @property
    def after_end_of_window(self) -> Trigger.AfterEndOfWindow: ...

    @property
    def after_processing_time(self) -> Trigger.AfterProcessingTime: ...

    @property
    def after_synchronized_processing_time(self) -> Trigger.AfterSynchronizedProcessingTime: ...

    @property
    def always(self) -> Trigger.Always: ...

    @property
    def default(self) -> Trigger.Default: ...

    @property
    def element_count(self) -> Trigger.ElementCount: ...

    @property
    def never(self) -> Trigger.Never: ...

    @property
    def or_finally(self) -> Trigger.OrFinally: ...

    @property
    def repeat(self) -> Trigger.Repeat: ...

    def __init__(self,
        *,
        after_all : typing___Optional[Trigger.AfterAll] = None,
        after_any : typing___Optional[Trigger.AfterAny] = None,
        after_each : typing___Optional[Trigger.AfterEach] = None,
        after_end_of_window : typing___Optional[Trigger.AfterEndOfWindow] = None,
        after_processing_time : typing___Optional[Trigger.AfterProcessingTime] = None,
        after_synchronized_processing_time : typing___Optional[Trigger.AfterSynchronizedProcessingTime] = None,
        always : typing___Optional[Trigger.Always] = None,
        default : typing___Optional[Trigger.Default] = None,
        element_count : typing___Optional[Trigger.ElementCount] = None,
        never : typing___Optional[Trigger.Never] = None,
        or_finally : typing___Optional[Trigger.OrFinally] = None,
        repeat : typing___Optional[Trigger.Repeat] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Trigger: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Trigger: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"after_all",u"after_any",u"after_each",u"after_end_of_window",u"after_processing_time",u"after_synchronized_processing_time",u"always",u"default",u"element_count",u"never",u"or_finally",u"repeat",u"trigger"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"after_all",u"after_any",u"after_each",u"after_end_of_window",u"after_processing_time",u"after_synchronized_processing_time",u"always",u"default",u"element_count",u"never",u"or_finally",u"repeat",u"trigger"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"after_all",b"after_all",u"after_any",b"after_any",u"after_each",b"after_each",u"after_end_of_window",b"after_end_of_window",u"after_processing_time",b"after_processing_time",u"after_synchronized_processing_time",b"after_synchronized_processing_time",u"always",b"always",u"default",b"default",u"element_count",b"element_count",u"never",b"never",u"or_finally",b"or_finally",u"repeat",b"repeat",u"trigger",b"trigger"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"after_all",b"after_all",u"after_any",b"after_any",u"after_each",b"after_each",u"after_end_of_window",b"after_end_of_window",u"after_processing_time",b"after_processing_time",u"after_synchronized_processing_time",b"after_synchronized_processing_time",u"always",b"always",u"default",b"default",u"element_count",b"element_count",u"never",b"never",u"or_finally",b"or_finally",u"repeat",b"repeat",u"trigger",b"trigger"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"trigger",b"trigger"]) -> typing_extensions___Literal["after_all","after_any","after_each","after_end_of_window","after_processing_time","after_synchronized_processing_time","always","default","element_count","never","or_finally","repeat"]: ...

class TimestampTransform(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Delay(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        delay_millis = ... # type: builtin___int

        def __init__(self,
            *,
            delay_millis : typing___Optional[builtin___int] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> TimestampTransform.Delay: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TimestampTransform.Delay: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"delay_millis"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"delay_millis",b"delay_millis"]) -> None: ...

    class AlignTo(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        period = ... # type: builtin___int
        offset = ... # type: builtin___int

        def __init__(self,
            *,
            period : typing___Optional[builtin___int] = None,
            offset : typing___Optional[builtin___int] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> TimestampTransform.AlignTo: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TimestampTransform.AlignTo: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"offset",u"period"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"offset",b"offset",u"period",b"period"]) -> None: ...


    @property
    def delay(self) -> TimestampTransform.Delay: ...

    @property
    def align_to(self) -> TimestampTransform.AlignTo: ...

    def __init__(self,
        *,
        delay : typing___Optional[TimestampTransform.Delay] = None,
        align_to : typing___Optional[TimestampTransform.AlignTo] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> TimestampTransform: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> TimestampTransform: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"align_to",u"delay",u"timestamp_transform"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"align_to",u"delay",u"timestamp_transform"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"align_to",b"align_to",u"delay",b"delay",u"timestamp_transform",b"timestamp_transform"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"align_to",b"align_to",u"delay",b"delay",u"timestamp_transform",b"timestamp_transform"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"timestamp_transform",b"timestamp_transform"]) -> typing_extensions___Literal["delay","align_to"]: ...

class SideInput(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def access_pattern(self) -> FunctionSpec: ...

    @property
    def view_fn(self) -> FunctionSpec: ...

    @property
    def window_mapping_fn(self) -> FunctionSpec: ...

    def __init__(self,
        *,
        access_pattern : typing___Optional[FunctionSpec] = None,
        view_fn : typing___Optional[FunctionSpec] = None,
        window_mapping_fn : typing___Optional[FunctionSpec] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> SideInput: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> SideInput: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"access_pattern",u"view_fn",u"window_mapping_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"access_pattern",u"view_fn",u"window_mapping_fn"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"access_pattern",b"access_pattern",u"view_fn",b"view_fn",u"window_mapping_fn",b"window_mapping_fn"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"access_pattern",b"access_pattern",u"view_fn",b"view_fn",u"window_mapping_fn",b"window_mapping_fn"]) -> None: ...

class StandardArtifacts(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Types(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardArtifacts.Types': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardArtifacts.Types']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardArtifacts.Types']]: ...
        FILE = typing___cast('StandardArtifacts.Types', 0)
        URL = typing___cast('StandardArtifacts.Types', 1)
        EMBEDDED = typing___cast('StandardArtifacts.Types', 2)
        PYPI = typing___cast('StandardArtifacts.Types', 3)
        MAVEN = typing___cast('StandardArtifacts.Types', 4)
        DEFERRED = typing___cast('StandardArtifacts.Types', 5)
    FILE = typing___cast('StandardArtifacts.Types', 0)
    URL = typing___cast('StandardArtifacts.Types', 1)
    EMBEDDED = typing___cast('StandardArtifacts.Types', 2)
    PYPI = typing___cast('StandardArtifacts.Types', 3)
    MAVEN = typing___cast('StandardArtifacts.Types', 4)
    DEFERRED = typing___cast('StandardArtifacts.Types', 5)

    class Roles(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardArtifacts.Roles': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardArtifacts.Roles']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardArtifacts.Roles']]: ...
        STAGING_TO = typing___cast('StandardArtifacts.Roles', 0)
        PIP_REQUIREMENTS_FILE = typing___cast('StandardArtifacts.Roles', 1)
        GO_WORKER_BINARY = typing___cast('StandardArtifacts.Roles', 2)
    STAGING_TO = typing___cast('StandardArtifacts.Roles', 0)
    PIP_REQUIREMENTS_FILE = typing___cast('StandardArtifacts.Roles', 1)
    GO_WORKER_BINARY = typing___cast('StandardArtifacts.Roles', 2)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardArtifacts: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardArtifacts: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class ArtifactFilePayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    path = ... # type: typing___Text
    sha256 = ... # type: typing___Text

    def __init__(self,
        *,
        path : typing___Optional[typing___Text] = None,
        sha256 : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ArtifactFilePayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ArtifactFilePayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"path",u"sha256"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"path",b"path",u"sha256",b"sha256"]) -> None: ...

class ArtifactUrlPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    url = ... # type: typing___Text
    sha256 = ... # type: typing___Text

    def __init__(self,
        *,
        url : typing___Optional[typing___Text] = None,
        sha256 : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ArtifactUrlPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ArtifactUrlPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"sha256",u"url"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"sha256",b"sha256",u"url",b"url"]) -> None: ...

class EmbeddedFilePayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    data = ... # type: builtin___bytes

    def __init__(self,
        *,
        data : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> EmbeddedFilePayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> EmbeddedFilePayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"data"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"data",b"data"]) -> None: ...

class PyPIPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    artifact_id = ... # type: typing___Text
    version = ... # type: typing___Text

    def __init__(self,
        *,
        artifact_id : typing___Optional[typing___Text] = None,
        version : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> PyPIPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> PyPIPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"artifact_id",u"version"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"artifact_id",b"artifact_id",u"version",b"version"]) -> None: ...

class MavenPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    artifact = ... # type: typing___Text
    repository_url = ... # type: typing___Text

    def __init__(self,
        *,
        artifact : typing___Optional[typing___Text] = None,
        repository_url : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> MavenPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> MavenPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"artifact",u"repository_url"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"artifact",b"artifact",u"repository_url",b"repository_url"]) -> None: ...

class DeferredArtifactPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    key = ... # type: typing___Text
    data = ... # type: builtin___bytes

    def __init__(self,
        *,
        key : typing___Optional[typing___Text] = None,
        data : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> DeferredArtifactPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> DeferredArtifactPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"data",u"key"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"data",b"data",u"key",b"key"]) -> None: ...

class ArtifactStagingToRolePayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    staged_name = ... # type: typing___Text

    def __init__(self,
        *,
        staged_name : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ArtifactStagingToRolePayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ArtifactStagingToRolePayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"staged_name"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"staged_name",b"staged_name"]) -> None: ...

class ArtifactInformation(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    type_urn = ... # type: typing___Text
    type_payload = ... # type: builtin___bytes
    role_urn = ... # type: typing___Text
    role_payload = ... # type: builtin___bytes

    def __init__(self,
        *,
        type_urn : typing___Optional[typing___Text] = None,
        type_payload : typing___Optional[builtin___bytes] = None,
        role_urn : typing___Optional[typing___Text] = None,
        role_payload : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ArtifactInformation: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ArtifactInformation: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"role_payload",u"role_urn",u"type_payload",u"type_urn"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"role_payload",b"role_payload",u"role_urn",b"role_urn",u"type_payload",b"type_payload",u"type_urn",b"type_urn"]) -> None: ...

class Environment(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class ResourceHintsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text
        value = ... # type: builtin___bytes

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[builtin___bytes] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> Environment.ResourceHintsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Environment.ResourceHintsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    urn = ... # type: typing___Text
    payload = ... # type: builtin___bytes
    capabilities = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]

    @property
    def display_data(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[DisplayData]: ...

    @property
    def dependencies(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ArtifactInformation]: ...

    @property
    def resource_hints(self) -> typing___MutableMapping[typing___Text, builtin___bytes]: ...

    def __init__(self,
        *,
        urn : typing___Optional[typing___Text] = None,
        payload : typing___Optional[builtin___bytes] = None,
        display_data : typing___Optional[typing___Iterable[DisplayData]] = None,
        capabilities : typing___Optional[typing___Iterable[typing___Text]] = None,
        dependencies : typing___Optional[typing___Iterable[ArtifactInformation]] = None,
        resource_hints : typing___Optional[typing___Mapping[typing___Text, builtin___bytes]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Environment: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Environment: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"capabilities",u"dependencies",u"display_data",u"payload",u"resource_hints",u"urn"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"capabilities",b"capabilities",u"dependencies",b"dependencies",u"display_data",b"display_data",u"payload",b"payload",u"resource_hints",b"resource_hints",u"urn",b"urn"]) -> None: ...

class StandardEnvironments(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Environments(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardEnvironments.Environments': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardEnvironments.Environments']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardEnvironments.Environments']]: ...
        DOCKER = typing___cast('StandardEnvironments.Environments', 0)
        PROCESS = typing___cast('StandardEnvironments.Environments', 1)
        EXTERNAL = typing___cast('StandardEnvironments.Environments', 2)
        DEFAULT = typing___cast('StandardEnvironments.Environments', 3)
    DOCKER = typing___cast('StandardEnvironments.Environments', 0)
    PROCESS = typing___cast('StandardEnvironments.Environments', 1)
    EXTERNAL = typing___cast('StandardEnvironments.Environments', 2)
    DEFAULT = typing___cast('StandardEnvironments.Environments', 3)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardEnvironments: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardEnvironments: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class DockerPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    container_image = ... # type: typing___Text

    def __init__(self,
        *,
        container_image : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> DockerPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> DockerPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"container_image"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"container_image",b"container_image"]) -> None: ...

class ProcessPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class EnvEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text
        value = ... # type: typing___Text

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[typing___Text] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ProcessPayload.EnvEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ProcessPayload.EnvEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...

    os = ... # type: typing___Text
    arch = ... # type: typing___Text
    command = ... # type: typing___Text

    @property
    def env(self) -> typing___MutableMapping[typing___Text, typing___Text]: ...

    def __init__(self,
        *,
        os : typing___Optional[typing___Text] = None,
        arch : typing___Optional[typing___Text] = None,
        command : typing___Optional[typing___Text] = None,
        env : typing___Optional[typing___Mapping[typing___Text, typing___Text]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ProcessPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ProcessPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"arch",u"command",u"env",u"os"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"arch",b"arch",u"command",b"command",u"env",b"env",u"os",b"os"]) -> None: ...

class ExternalPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class ParamsEntry(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        key = ... # type: typing___Text
        value = ... # type: typing___Text

        def __init__(self,
            *,
            key : typing___Optional[typing___Text] = None,
            value : typing___Optional[typing___Text] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ExternalPayload.ParamsEntry: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ExternalPayload.ParamsEntry: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"key",u"value"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"key",b"key",u"value",b"value"]) -> None: ...


    @property
    def endpoint(self) -> endpoints_pb2___ApiServiceDescriptor: ...

    @property
    def params(self) -> typing___MutableMapping[typing___Text, typing___Text]: ...

    def __init__(self,
        *,
        endpoint : typing___Optional[endpoints_pb2___ApiServiceDescriptor] = None,
        params : typing___Optional[typing___Mapping[typing___Text, typing___Text]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ExternalPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ExternalPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"endpoint"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"endpoint",u"params"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"endpoint",b"endpoint"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"endpoint",b"endpoint",u"params",b"params"]) -> None: ...

class StandardProtocols(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardProtocols.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardProtocols.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardProtocols.Enum']]: ...
        LEGACY_PROGRESS_REPORTING = typing___cast('StandardProtocols.Enum', 0)
        PROGRESS_REPORTING = typing___cast('StandardProtocols.Enum', 1)
        WORKER_STATUS = typing___cast('StandardProtocols.Enum', 2)
        MULTI_CORE_BUNDLE_PROCESSING = typing___cast('StandardProtocols.Enum', 3)
        SIBLING_WORKERS = typing___cast('StandardProtocols.Enum', 5)
        HARNESS_MONITORING_INFOS = typing___cast('StandardProtocols.Enum', 4)
        CONTROL_REQUEST_ELEMENTS_EMBEDDING = typing___cast('StandardProtocols.Enum', 6)
        STATE_CACHING = typing___cast('StandardProtocols.Enum', 7)
    LEGACY_PROGRESS_REPORTING = typing___cast('StandardProtocols.Enum', 0)
    PROGRESS_REPORTING = typing___cast('StandardProtocols.Enum', 1)
    WORKER_STATUS = typing___cast('StandardProtocols.Enum', 2)
    MULTI_CORE_BUNDLE_PROCESSING = typing___cast('StandardProtocols.Enum', 3)
    SIBLING_WORKERS = typing___cast('StandardProtocols.Enum', 5)
    HARNESS_MONITORING_INFOS = typing___cast('StandardProtocols.Enum', 4)
    CONTROL_REQUEST_ELEMENTS_EMBEDDING = typing___cast('StandardProtocols.Enum', 6)
    STATE_CACHING = typing___cast('StandardProtocols.Enum', 7)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardProtocols: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardProtocols: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class StandardRunnerProtocols(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardRunnerProtocols.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardRunnerProtocols.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardRunnerProtocols.Enum']]: ...
        MONITORING_INFO_SHORT_IDS = typing___cast('StandardRunnerProtocols.Enum', 0)
        CONTROL_RESPONSE_ELEMENTS_EMBEDDING = typing___cast('StandardRunnerProtocols.Enum', 6)
    MONITORING_INFO_SHORT_IDS = typing___cast('StandardRunnerProtocols.Enum', 0)
    CONTROL_RESPONSE_ELEMENTS_EMBEDDING = typing___cast('StandardRunnerProtocols.Enum', 6)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardRunnerProtocols: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardRunnerProtocols: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class StandardRequirements(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardRequirements.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardRequirements.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardRequirements.Enum']]: ...
        REQUIRES_STATEFUL_PROCESSING = typing___cast('StandardRequirements.Enum', 0)
        REQUIRES_BUNDLE_FINALIZATION = typing___cast('StandardRequirements.Enum', 1)
        REQUIRES_STABLE_INPUT = typing___cast('StandardRequirements.Enum', 2)
        REQUIRES_TIME_SORTED_INPUT = typing___cast('StandardRequirements.Enum', 3)
        REQUIRES_SPLITTABLE_DOFN = typing___cast('StandardRequirements.Enum', 4)
        REQUIRES_ON_WINDOW_EXPIRATION = typing___cast('StandardRequirements.Enum', 5)
    REQUIRES_STATEFUL_PROCESSING = typing___cast('StandardRequirements.Enum', 0)
    REQUIRES_BUNDLE_FINALIZATION = typing___cast('StandardRequirements.Enum', 1)
    REQUIRES_STABLE_INPUT = typing___cast('StandardRequirements.Enum', 2)
    REQUIRES_TIME_SORTED_INPUT = typing___cast('StandardRequirements.Enum', 3)
    REQUIRES_SPLITTABLE_DOFN = typing___cast('StandardRequirements.Enum', 4)
    REQUIRES_ON_WINDOW_EXPIRATION = typing___cast('StandardRequirements.Enum', 5)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardRequirements: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardRequirements: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class FunctionSpec(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    urn = ... # type: typing___Text
    payload = ... # type: builtin___bytes

    def __init__(self,
        *,
        urn : typing___Optional[typing___Text] = None,
        payload : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> FunctionSpec: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> FunctionSpec: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"payload",u"urn"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"payload",b"payload",u"urn",b"urn"]) -> None: ...

class StandardDisplayData(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class DisplayData(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardDisplayData.DisplayData': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardDisplayData.DisplayData']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardDisplayData.DisplayData']]: ...
        LABELLED = typing___cast('StandardDisplayData.DisplayData', 0)
    LABELLED = typing___cast('StandardDisplayData.DisplayData', 0)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardDisplayData: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardDisplayData: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class LabelledPayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    label = ... # type: typing___Text
    string_value = ... # type: typing___Text
    bool_value = ... # type: builtin___bool
    double_value = ... # type: builtin___float
    int_value = ... # type: builtin___int
    key = ... # type: typing___Text
    namespace = ... # type: typing___Text

    def __init__(self,
        *,
        label : typing___Optional[typing___Text] = None,
        string_value : typing___Optional[typing___Text] = None,
        bool_value : typing___Optional[builtin___bool] = None,
        double_value : typing___Optional[builtin___float] = None,
        int_value : typing___Optional[builtin___int] = None,
        key : typing___Optional[typing___Text] = None,
        namespace : typing___Optional[typing___Text] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> LabelledPayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> LabelledPayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"bool_value",u"double_value",u"int_value",u"string_value",u"value"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"bool_value",u"double_value",u"int_value",u"key",u"label",u"namespace",u"string_value",u"value"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"bool_value",b"bool_value",u"double_value",b"double_value",u"int_value",b"int_value",u"string_value",b"string_value",u"value",b"value"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"bool_value",b"bool_value",u"double_value",b"double_value",u"int_value",b"int_value",u"key",b"key",u"label",b"label",u"namespace",b"namespace",u"string_value",b"string_value",u"value",b"value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"value",b"value"]) -> typing_extensions___Literal["string_value","bool_value","double_value","int_value"]: ...

class DisplayData(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    urn = ... # type: typing___Text
    payload = ... # type: builtin___bytes

    def __init__(self,
        *,
        urn : typing___Optional[typing___Text] = None,
        payload : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> DisplayData: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> DisplayData: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def ClearField(self, field_name: typing_extensions___Literal[u"payload",u"urn"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"payload",b"payload",u"urn",b"urn"]) -> None: ...

class MessageWithComponents(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def components(self) -> Components: ...

    @property
    def coder(self) -> Coder: ...

    @property
    def combine_payload(self) -> CombinePayload: ...

    @property
    def function_spec(self) -> FunctionSpec: ...

    @property
    def par_do_payload(self) -> ParDoPayload: ...

    @property
    def ptransform(self) -> PTransform: ...

    @property
    def pcollection(self) -> PCollection: ...

    @property
    def read_payload(self) -> ReadPayload: ...

    @property
    def side_input(self) -> SideInput: ...

    @property
    def window_into_payload(self) -> WindowIntoPayload: ...

    @property
    def windowing_strategy(self) -> WindowingStrategy: ...

    def __init__(self,
        *,
        components : typing___Optional[Components] = None,
        coder : typing___Optional[Coder] = None,
        combine_payload : typing___Optional[CombinePayload] = None,
        function_spec : typing___Optional[FunctionSpec] = None,
        par_do_payload : typing___Optional[ParDoPayload] = None,
        ptransform : typing___Optional[PTransform] = None,
        pcollection : typing___Optional[PCollection] = None,
        read_payload : typing___Optional[ReadPayload] = None,
        side_input : typing___Optional[SideInput] = None,
        window_into_payload : typing___Optional[WindowIntoPayload] = None,
        windowing_strategy : typing___Optional[WindowingStrategy] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> MessageWithComponents: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> MessageWithComponents: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"coder",u"combine_payload",u"components",u"function_spec",u"par_do_payload",u"pcollection",u"ptransform",u"read_payload",u"root",u"side_input",u"window_into_payload",u"windowing_strategy"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"coder",u"combine_payload",u"components",u"function_spec",u"par_do_payload",u"pcollection",u"ptransform",u"read_payload",u"root",u"side_input",u"window_into_payload",u"windowing_strategy"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"coder",b"coder",u"combine_payload",b"combine_payload",u"components",b"components",u"function_spec",b"function_spec",u"par_do_payload",b"par_do_payload",u"pcollection",b"pcollection",u"ptransform",b"ptransform",u"read_payload",b"read_payload",u"root",b"root",u"side_input",b"side_input",u"window_into_payload",b"window_into_payload",u"windowing_strategy",b"windowing_strategy"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"coder",b"coder",u"combine_payload",b"combine_payload",u"components",b"components",u"function_spec",b"function_spec",u"par_do_payload",b"par_do_payload",u"pcollection",b"pcollection",u"ptransform",b"ptransform",u"read_payload",b"read_payload",u"root",b"root",u"side_input",b"side_input",u"window_into_payload",b"window_into_payload",u"windowing_strategy",b"windowing_strategy"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"root",b"root"]) -> typing_extensions___Literal["coder","combine_payload","function_spec","par_do_payload","ptransform","pcollection","read_payload","side_input","window_into_payload","windowing_strategy"]: ...

class ExecutableStagePayload(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class SideInputId(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        transform_id = ... # type: typing___Text
        local_name = ... # type: typing___Text

        def __init__(self,
            *,
            transform_id : typing___Optional[typing___Text] = None,
            local_name : typing___Optional[typing___Text] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ExecutableStagePayload.SideInputId: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ExecutableStagePayload.SideInputId: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"local_name",u"transform_id"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"local_name",b"local_name",u"transform_id",b"transform_id"]) -> None: ...

    class UserStateId(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        transform_id = ... # type: typing___Text
        local_name = ... # type: typing___Text

        def __init__(self,
            *,
            transform_id : typing___Optional[typing___Text] = None,
            local_name : typing___Optional[typing___Text] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ExecutableStagePayload.UserStateId: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ExecutableStagePayload.UserStateId: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"local_name",u"transform_id"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"local_name",b"local_name",u"transform_id",b"transform_id"]) -> None: ...

    class TimerId(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        transform_id = ... # type: typing___Text
        local_name = ... # type: typing___Text

        def __init__(self,
            *,
            transform_id : typing___Optional[typing___Text] = None,
            local_name : typing___Optional[typing___Text] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ExecutableStagePayload.TimerId: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ExecutableStagePayload.TimerId: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"local_name",u"transform_id"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"local_name",b"local_name",u"transform_id",b"transform_id"]) -> None: ...

    class TimerFamilyId(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        transform_id = ... # type: typing___Text
        local_name = ... # type: typing___Text

        def __init__(self,
            *,
            transform_id : typing___Optional[typing___Text] = None,
            local_name : typing___Optional[typing___Text] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ExecutableStagePayload.TimerFamilyId: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ExecutableStagePayload.TimerFamilyId: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def ClearField(self, field_name: typing_extensions___Literal[u"local_name",u"transform_id"]) -> None: ...
        else:
            def ClearField(self, field_name: typing_extensions___Literal[u"local_name",b"local_name",u"transform_id",b"transform_id"]) -> None: ...

    class WireCoderSetting(google___protobuf___message___Message):
        DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
        urn = ... # type: typing___Text
        payload = ... # type: builtin___bytes
        input_or_output_id = ... # type: typing___Text

        @property
        def timer(self) -> ExecutableStagePayload.TimerId: ...

        def __init__(self,
            *,
            urn : typing___Optional[typing___Text] = None,
            payload : typing___Optional[builtin___bytes] = None,
            input_or_output_id : typing___Optional[typing___Text] = None,
            timer : typing___Optional[ExecutableStagePayload.TimerId] = None,
            ) -> None: ...
        if sys.version_info >= (3,):
            @classmethod
            def FromString(cls, s: builtin___bytes) -> ExecutableStagePayload.WireCoderSetting: ...
        else:
            @classmethod
            def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ExecutableStagePayload.WireCoderSetting: ...
        def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
        if sys.version_info >= (3,):
            def HasField(self, field_name: typing_extensions___Literal[u"input_or_output_id",u"target",u"timer"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"input_or_output_id",u"payload",u"target",u"timer",u"urn"]) -> None: ...
        else:
            def HasField(self, field_name: typing_extensions___Literal[u"input_or_output_id",b"input_or_output_id",u"target",b"target",u"timer",b"timer"]) -> builtin___bool: ...
            def ClearField(self, field_name: typing_extensions___Literal[u"input_or_output_id",b"input_or_output_id",u"payload",b"payload",u"target",b"target",u"timer",b"timer",u"urn",b"urn"]) -> None: ...
        def WhichOneof(self, oneof_group: typing_extensions___Literal[u"target",b"target"]) -> typing_extensions___Literal["input_or_output_id","timer"]: ...

    input = ... # type: typing___Text
    transforms = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]
    outputs = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[typing___Text]

    @property
    def environment(self) -> Environment: ...

    @property
    def wire_coder_settings(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ExecutableStagePayload.WireCoderSetting]: ...

    @property
    def side_inputs(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ExecutableStagePayload.SideInputId]: ...

    @property
    def components(self) -> Components: ...

    @property
    def user_states(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ExecutableStagePayload.UserStateId]: ...

    @property
    def timers(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ExecutableStagePayload.TimerId]: ...

    @property
    def timerFamilies(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[ExecutableStagePayload.TimerFamilyId]: ...

    def __init__(self,
        *,
        environment : typing___Optional[Environment] = None,
        wire_coder_settings : typing___Optional[typing___Iterable[ExecutableStagePayload.WireCoderSetting]] = None,
        input : typing___Optional[typing___Text] = None,
        side_inputs : typing___Optional[typing___Iterable[ExecutableStagePayload.SideInputId]] = None,
        transforms : typing___Optional[typing___Iterable[typing___Text]] = None,
        outputs : typing___Optional[typing___Iterable[typing___Text]] = None,
        components : typing___Optional[Components] = None,
        user_states : typing___Optional[typing___Iterable[ExecutableStagePayload.UserStateId]] = None,
        timers : typing___Optional[typing___Iterable[ExecutableStagePayload.TimerId]] = None,
        timerFamilies : typing___Optional[typing___Iterable[ExecutableStagePayload.TimerFamilyId]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ExecutableStagePayload: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ExecutableStagePayload: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"components",u"environment"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"components",u"environment",u"input",u"outputs",u"side_inputs",u"timerFamilies",u"timers",u"transforms",u"user_states",u"wire_coder_settings"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"components",b"components",u"environment",b"environment"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"components",b"components",u"environment",b"environment",u"input",b"input",u"outputs",b"outputs",u"side_inputs",b"side_inputs",u"timerFamilies",b"timerFamilies",u"timers",b"timers",u"transforms",b"transforms",u"user_states",b"user_states",u"wire_coder_settings",b"wire_coder_settings"]) -> None: ...

class StandardResourceHints(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class Enum(builtin___int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> 'StandardResourceHints.Enum': ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List['StandardResourceHints.Enum']: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, 'StandardResourceHints.Enum']]: ...
        ACCELERATOR = typing___cast('StandardResourceHints.Enum', 0)
        MIN_RAM_BYTES = typing___cast('StandardResourceHints.Enum', 1)
    ACCELERATOR = typing___cast('StandardResourceHints.Enum', 0)
    MIN_RAM_BYTES = typing___cast('StandardResourceHints.Enum', 1)


    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> StandardResourceHints: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> StandardResourceHints: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

beam_urn = ... # type: google___protobuf___descriptor___FieldDescriptor

beam_constant = ... # type: google___protobuf___descriptor___FieldDescriptor
