"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.any_pb2
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.timestamp_pb2
import typing
import typing_extensions

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

# GenericAuthorization gives the grantee unrestricted permissions to execute
# the provided method on behalf of the granter's account.
class GenericAuthorization(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    MSG_FIELD_NUMBER: builtins.int
    # Msg, identified by it's type URL, to grant unrestricted permissions to execute
    msg: typing.Text = ...
    def __init__(self,
        *,
        msg : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"msg",b"msg"]) -> None: ...
global___GenericAuthorization = GenericAuthorization

# Grant gives permissions to execute
# the provide method with expiration time.
class Grant(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    AUTHORIZATION_FIELD_NUMBER: builtins.int
    EXPIRATION_FIELD_NUMBER: builtins.int
    @property
    def authorization(self) -> google.protobuf.any_pb2.Any: ...
    @property
    def expiration(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(self,
        *,
        authorization : typing.Optional[google.protobuf.any_pb2.Any] = ...,
        expiration : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"authorization",b"authorization",u"expiration",b"expiration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"authorization",b"authorization",u"expiration",b"expiration"]) -> None: ...
global___Grant = Grant
