"""
@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 Http(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    RULES_FIELD_NUMBER: builtins.int
    FULLY_DECODE_RESERVED_EXPANSION_FIELD_NUMBER: builtins.int
    fully_decode_reserved_expansion: builtins.bool = ...

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

    def __init__(self,
        *,
        rules : typing.Optional[typing.Iterable[global___HttpRule]] = ...,
        fully_decode_reserved_expansion : builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"fully_decode_reserved_expansion",b"fully_decode_reserved_expansion",u"rules",b"rules"]) -> None: ...
global___Http = Http

class HttpRule(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SELECTOR_FIELD_NUMBER: builtins.int
    GET_FIELD_NUMBER: builtins.int
    PUT_FIELD_NUMBER: builtins.int
    POST_FIELD_NUMBER: builtins.int
    DELETE_FIELD_NUMBER: builtins.int
    PATCH_FIELD_NUMBER: builtins.int
    CUSTOM_FIELD_NUMBER: builtins.int
    BODY_FIELD_NUMBER: builtins.int
    RESPONSE_BODY_FIELD_NUMBER: builtins.int
    ADDITIONAL_BINDINGS_FIELD_NUMBER: builtins.int
    selector: typing.Text = ...
    get: typing.Text = ...
    put: typing.Text = ...
    post: typing.Text = ...
    delete: typing.Text = ...
    patch: typing.Text = ...
    body: typing.Text = ...
    response_body: typing.Text = ...

    @property
    def custom(self) -> global___CustomHttpPattern: ...

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

    def __init__(self,
        *,
        selector : typing.Text = ...,
        get : typing.Text = ...,
        put : typing.Text = ...,
        post : typing.Text = ...,
        delete : typing.Text = ...,
        patch : typing.Text = ...,
        custom : typing.Optional[global___CustomHttpPattern] = ...,
        body : typing.Text = ...,
        response_body : typing.Text = ...,
        additional_bindings : typing.Optional[typing.Iterable[global___HttpRule]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"custom",b"custom",u"delete",b"delete",u"get",b"get",u"patch",b"patch",u"pattern",b"pattern",u"post",b"post",u"put",b"put"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"additional_bindings",b"additional_bindings",u"body",b"body",u"custom",b"custom",u"delete",b"delete",u"get",b"get",u"patch",b"patch",u"pattern",b"pattern",u"post",b"post",u"put",b"put",u"response_body",b"response_body",u"selector",b"selector"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal[u"pattern",b"pattern"]) -> typing.Optional[typing_extensions.Literal["get","put","post","delete","patch","custom"]]: ...
global___HttpRule = HttpRule

class CustomHttpPattern(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KIND_FIELD_NUMBER: builtins.int
    PATH_FIELD_NUMBER: builtins.int
    kind: typing.Text = ...
    path: typing.Text = ...

    def __init__(self,
        *,
        kind : typing.Text = ...,
        path : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"kind",b"kind",u"path",b"path"]) -> None: ...
global___CustomHttpPattern = CustomHttpPattern
