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

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

class MerkleRoot(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    HASH_FIELD_NUMBER: builtins.int
    hash: builtins.bytes = ...

    def __init__(self,
        *,
        hash : builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"hash",b"hash"]) -> None: ...
global___MerkleRoot = MerkleRoot

class MerklePrefix(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEY_PREFIX_FIELD_NUMBER: builtins.int
    key_prefix: builtins.bytes = ...

    def __init__(self,
        *,
        key_prefix : builtins.bytes = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"key_prefix",b"key_prefix"]) -> None: ...
global___MerklePrefix = MerklePrefix

class MerklePath(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    KEY_PATH_FIELD_NUMBER: builtins.int

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

    def __init__(self,
        *,
        key_path : typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"key_path",b"key_path"]) -> None: ...
global___MerklePath = MerklePath

class MerkleProof(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PROOFS_FIELD_NUMBER: builtins.int

    @property
    def proofs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[confio.proofs_pb2.CommitmentProof]: ...

    def __init__(self,
        *,
        proofs : typing.Optional[typing.Iterable[confio.proofs_pb2.CommitmentProof]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"proofs",b"proofs"]) -> None: ...
global___MerkleProof = MerkleProof
