"""
@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 google.protobuf.source_context_pb2
import google.protobuf.type_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class Api(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    METHODS_FIELD_NUMBER: builtins.int
    OPTIONS_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    SOURCE_CONTEXT_FIELD_NUMBER: builtins.int
    MIXINS_FIELD_NUMBER: builtins.int
    SYNTAX_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    version: typing.Text = ...
    syntax: google.protobuf.type_pb2.Syntax.V = ...

    @property
    def methods(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Method]: ...

    @property
    def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.type_pb2.Option]: ...

    @property
    def source_context(self) -> google.protobuf.source_context_pb2.SourceContext: ...

    @property
    def mixins(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Mixin]: ...

    def __init__(self,
        *,
        name : typing.Text = ...,
        methods : typing.Optional[typing.Iterable[global___Method]] = ...,
        options : typing.Optional[typing.Iterable[google.protobuf.type_pb2.Option]] = ...,
        version : typing.Text = ...,
        source_context : typing.Optional[google.protobuf.source_context_pb2.SourceContext] = ...,
        mixins : typing.Optional[typing.Iterable[global___Mixin]] = ...,
        syntax : google.protobuf.type_pb2.Syntax.V = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"source_context",b"source_context"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"methods",b"methods",u"mixins",b"mixins",u"name",b"name",u"options",b"options",u"source_context",b"source_context",u"syntax",b"syntax",u"version",b"version"]) -> None: ...
global___Api = Api

class Method(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    REQUEST_TYPE_URL_FIELD_NUMBER: builtins.int
    REQUEST_STREAMING_FIELD_NUMBER: builtins.int
    RESPONSE_TYPE_URL_FIELD_NUMBER: builtins.int
    RESPONSE_STREAMING_FIELD_NUMBER: builtins.int
    OPTIONS_FIELD_NUMBER: builtins.int
    SYNTAX_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    request_type_url: typing.Text = ...
    request_streaming: builtins.bool = ...
    response_type_url: typing.Text = ...
    response_streaming: builtins.bool = ...
    syntax: google.protobuf.type_pb2.Syntax.V = ...

    @property
    def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.type_pb2.Option]: ...

    def __init__(self,
        *,
        name : typing.Text = ...,
        request_type_url : typing.Text = ...,
        request_streaming : builtins.bool = ...,
        response_type_url : typing.Text = ...,
        response_streaming : builtins.bool = ...,
        options : typing.Optional[typing.Iterable[google.protobuf.type_pb2.Option]] = ...,
        syntax : google.protobuf.type_pb2.Syntax.V = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"name",b"name",u"options",b"options",u"request_streaming",b"request_streaming",u"request_type_url",b"request_type_url",u"response_streaming",b"response_streaming",u"response_type_url",b"response_type_url",u"syntax",b"syntax"]) -> None: ...
global___Method = Method

class Mixin(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    NAME_FIELD_NUMBER: builtins.int
    ROOT_FIELD_NUMBER: builtins.int
    name: typing.Text = ...
    root: typing.Text = ...

    def __init__(self,
        *,
        name : typing.Text = ...,
        root : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"name",b"name",u"root",b"root"]) -> None: ...
global___Mixin = Mixin
