"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2019 Shift Cryptosecurity AG

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class PubResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PUB_FIELD_NUMBER: builtins.int
    pub: builtins.str
    def __init__(
        self,
        *,
        pub: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["pub", b"pub"]) -> None: ...

global___PubResponse = PubResponse

@typing.final
class RootFingerprintRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___RootFingerprintRequest = RootFingerprintRequest

@typing.final
class RootFingerprintResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FINGERPRINT_FIELD_NUMBER: builtins.int
    fingerprint: builtins.bytes
    def __init__(
        self,
        *,
        fingerprint: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["fingerprint", b"fingerprint"]) -> None: ...

global___RootFingerprintResponse = RootFingerprintResponse

@typing.final
class XPub(google.protobuf.message.Message):
    """See https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki.
    version field dropped as it will set dynamically based on the context (xpub, ypub, etc.).
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DEPTH_FIELD_NUMBER: builtins.int
    PARENT_FINGERPRINT_FIELD_NUMBER: builtins.int
    CHILD_NUM_FIELD_NUMBER: builtins.int
    CHAIN_CODE_FIELD_NUMBER: builtins.int
    PUBLIC_KEY_FIELD_NUMBER: builtins.int
    depth: builtins.bytes
    parent_fingerprint: builtins.bytes
    child_num: builtins.int
    chain_code: builtins.bytes
    public_key: builtins.bytes
    def __init__(
        self,
        *,
        depth: builtins.bytes = ...,
        parent_fingerprint: builtins.bytes = ...,
        child_num: builtins.int = ...,
        chain_code: builtins.bytes = ...,
        public_key: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["chain_code", b"chain_code", "child_num", b"child_num", "depth", b"depth", "parent_fingerprint", b"parent_fingerprint", "public_key", b"public_key"]) -> None: ...

global___XPub = XPub

@typing.final
class Keypath(google.protobuf.message.Message):
    """This message exists for use in oneof or repeated fields, where one can't inline `repeated uint32` due to protobuf rules."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    KEYPATH_FIELD_NUMBER: builtins.int
    @property
    def keypath(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        keypath: collections.abc.Iterable[builtins.int] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["keypath", b"keypath"]) -> None: ...

global___Keypath = Keypath

@typing.final
class KeyOriginInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ROOT_FINGERPRINT_FIELD_NUMBER: builtins.int
    KEYPATH_FIELD_NUMBER: builtins.int
    XPUB_FIELD_NUMBER: builtins.int
    root_fingerprint: builtins.bytes
    @property
    def keypath(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def xpub(self) -> global___XPub: ...
    def __init__(
        self,
        *,
        root_fingerprint: builtins.bytes = ...,
        keypath: collections.abc.Iterable[builtins.int] | None = ...,
        xpub: global___XPub | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["xpub", b"xpub"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["keypath", b"keypath", "root_fingerprint", b"root_fingerprint", "xpub", b"xpub"]) -> None: ...

global___KeyOriginInfo = KeyOriginInfo
