"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import typing_extensions
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class Capabilities(google.protobuf.message.Message):
    """Defines a set of Capabilities that a system (producer or consumer) supports."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class SimpleExtension(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor
        URI_FIELD_NUMBER: builtins.int
        FUNCTION_KEYS_FIELD_NUMBER: builtins.int
        TYPE_KEYS_FIELD_NUMBER: builtins.int
        TYPE_VARIATION_KEYS_FIELD_NUMBER: builtins.int
        uri: typing.Text

        @property
        def function_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
            ...

        @property
        def type_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
            ...

        @property
        def type_variation_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
            ...

        def __init__(self, *, uri: typing.Text=..., function_keys: typing.Optional[typing.Iterable[typing.Text]]=..., type_keys: typing.Optional[typing.Iterable[typing.Text]]=..., type_variation_keys: typing.Optional[typing.Iterable[typing.Text]]=...) -> None:
            ...

        def ClearField(self, field_name: typing_extensions.Literal['function_keys', b'function_keys', 'type_keys', b'type_keys', 'type_variation_keys', b'type_variation_keys', 'uri', b'uri']) -> None:
            ...
    SUBSTRAIT_VERSIONS_FIELD_NUMBER: builtins.int
    ADVANCED_EXTENSION_TYPE_URLS_FIELD_NUMBER: builtins.int
    SIMPLE_EXTENSIONS_FIELD_NUMBER: builtins.int

    @property
    def substrait_versions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """List of Substrait versions this system supports"""
        pass

    @property
    def advanced_extension_type_urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """list of com.google.Any message types this system supports for advanced
        extensions.
        """
        pass

    @property
    def simple_extensions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Capabilities.SimpleExtension]:
        """list of simple extensions this system supports."""
        pass

    def __init__(self, *, substrait_versions: typing.Optional[typing.Iterable[typing.Text]]=..., advanced_extension_type_urls: typing.Optional[typing.Iterable[typing.Text]]=..., simple_extensions: typing.Optional[typing.Iterable[global___Capabilities.SimpleExtension]]=...) -> None:
        ...

    def ClearField(self, field_name: typing_extensions.Literal['advanced_extension_type_urls', b'advanced_extension_type_urls', 'simple_extensions', b'simple_extensions', 'substrait_versions', b'substrait_versions']) -> None:
        ...
global___Capabilities = Capabilities