"""
@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.
"""

from . import backup_commands_pb2
from . import bitbox02_system_pb2
from . import bluetooth_pb2
from . import btc_pb2
import builtins
from . import cardano_pb2
from . import common_pb2
from . import eth_pb2
import google.protobuf.descriptor
import google.protobuf.message
from . import keystore_pb2
from . import mnemonic_pb2
from . import perform_attestation_pb2
from . import system_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

global___Error = Error

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

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

global___Success = Success

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

    DEVICE_NAME_FIELD_NUMBER: builtins.int
    DEVICE_LANGUAGE_FIELD_NUMBER: builtins.int
    DEVICE_INFO_FIELD_NUMBER: builtins.int
    SET_PASSWORD_FIELD_NUMBER: builtins.int
    CREATE_BACKUP_FIELD_NUMBER: builtins.int
    SHOW_MNEMONIC_FIELD_NUMBER: builtins.int
    BTC_PUB_FIELD_NUMBER: builtins.int
    BTC_SIGN_INIT_FIELD_NUMBER: builtins.int
    BTC_SIGN_INPUT_FIELD_NUMBER: builtins.int
    BTC_SIGN_OUTPUT_FIELD_NUMBER: builtins.int
    INSERT_REMOVE_SDCARD_FIELD_NUMBER: builtins.int
    CHECK_SDCARD_FIELD_NUMBER: builtins.int
    SET_MNEMONIC_PASSPHRASE_ENABLED_FIELD_NUMBER: builtins.int
    LIST_BACKUPS_FIELD_NUMBER: builtins.int
    RESTORE_BACKUP_FIELD_NUMBER: builtins.int
    PERFORM_ATTESTATION_FIELD_NUMBER: builtins.int
    REBOOT_FIELD_NUMBER: builtins.int
    CHECK_BACKUP_FIELD_NUMBER: builtins.int
    ETH_FIELD_NUMBER: builtins.int
    RESET_FIELD_NUMBER: builtins.int
    RESTORE_FROM_MNEMONIC_FIELD_NUMBER: builtins.int
    FINGERPRINT_FIELD_NUMBER: builtins.int
    BTC_FIELD_NUMBER: builtins.int
    ELECTRUM_ENCRYPTION_KEY_FIELD_NUMBER: builtins.int
    CARDANO_FIELD_NUMBER: builtins.int
    BIP85_FIELD_NUMBER: builtins.int
    BLUETOOTH_FIELD_NUMBER: builtins.int
    @property
    def device_name(self) -> bitbox02_system_pb2.SetDeviceNameRequest:
        """removed: RandomNumberRequest random_number = 1;"""

    @property
    def device_language(self) -> bitbox02_system_pb2.SetDeviceLanguageRequest: ...
    @property
    def device_info(self) -> bitbox02_system_pb2.DeviceInfoRequest: ...
    @property
    def set_password(self) -> bitbox02_system_pb2.SetPasswordRequest: ...
    @property
    def create_backup(self) -> backup_commands_pb2.CreateBackupRequest: ...
    @property
    def show_mnemonic(self) -> mnemonic_pb2.ShowMnemonicRequest: ...
    @property
    def btc_pub(self) -> btc_pb2.BTCPubRequest: ...
    @property
    def btc_sign_init(self) -> btc_pb2.BTCSignInitRequest: ...
    @property
    def btc_sign_input(self) -> btc_pb2.BTCSignInputRequest: ...
    @property
    def btc_sign_output(self) -> btc_pb2.BTCSignOutputRequest: ...
    @property
    def insert_remove_sdcard(self) -> bitbox02_system_pb2.InsertRemoveSDCardRequest: ...
    @property
    def check_sdcard(self) -> bitbox02_system_pb2.CheckSDCardRequest: ...
    @property
    def set_mnemonic_passphrase_enabled(self) -> mnemonic_pb2.SetMnemonicPassphraseEnabledRequest: ...
    @property
    def list_backups(self) -> backup_commands_pb2.ListBackupsRequest: ...
    @property
    def restore_backup(self) -> backup_commands_pb2.RestoreBackupRequest: ...
    @property
    def perform_attestation(self) -> perform_attestation_pb2.PerformAttestationRequest: ...
    @property
    def reboot(self) -> system_pb2.RebootRequest: ...
    @property
    def check_backup(self) -> backup_commands_pb2.CheckBackupRequest: ...
    @property
    def eth(self) -> eth_pb2.ETHRequest: ...
    @property
    def reset(self) -> bitbox02_system_pb2.ResetRequest: ...
    @property
    def restore_from_mnemonic(self) -> mnemonic_pb2.RestoreFromMnemonicRequest: ...
    @property
    def fingerprint(self) -> common_pb2.RootFingerprintRequest:
        """removed: BitBoxBaseRequest bitboxbase = 23;"""

    @property
    def btc(self) -> btc_pb2.BTCRequest: ...
    @property
    def electrum_encryption_key(self) -> keystore_pb2.ElectrumEncryptionKeyRequest: ...
    @property
    def cardano(self) -> cardano_pb2.CardanoRequest: ...
    @property
    def bip85(self) -> keystore_pb2.BIP85Request: ...
    @property
    def bluetooth(self) -> bluetooth_pb2.BluetoothRequest: ...
    def __init__(
        self,
        *,
        device_name: bitbox02_system_pb2.SetDeviceNameRequest | None = ...,
        device_language: bitbox02_system_pb2.SetDeviceLanguageRequest | None = ...,
        device_info: bitbox02_system_pb2.DeviceInfoRequest | None = ...,
        set_password: bitbox02_system_pb2.SetPasswordRequest | None = ...,
        create_backup: backup_commands_pb2.CreateBackupRequest | None = ...,
        show_mnemonic: mnemonic_pb2.ShowMnemonicRequest | None = ...,
        btc_pub: btc_pb2.BTCPubRequest | None = ...,
        btc_sign_init: btc_pb2.BTCSignInitRequest | None = ...,
        btc_sign_input: btc_pb2.BTCSignInputRequest | None = ...,
        btc_sign_output: btc_pb2.BTCSignOutputRequest | None = ...,
        insert_remove_sdcard: bitbox02_system_pb2.InsertRemoveSDCardRequest | None = ...,
        check_sdcard: bitbox02_system_pb2.CheckSDCardRequest | None = ...,
        set_mnemonic_passphrase_enabled: mnemonic_pb2.SetMnemonicPassphraseEnabledRequest | None = ...,
        list_backups: backup_commands_pb2.ListBackupsRequest | None = ...,
        restore_backup: backup_commands_pb2.RestoreBackupRequest | None = ...,
        perform_attestation: perform_attestation_pb2.PerformAttestationRequest | None = ...,
        reboot: system_pb2.RebootRequest | None = ...,
        check_backup: backup_commands_pb2.CheckBackupRequest | None = ...,
        eth: eth_pb2.ETHRequest | None = ...,
        reset: bitbox02_system_pb2.ResetRequest | None = ...,
        restore_from_mnemonic: mnemonic_pb2.RestoreFromMnemonicRequest | None = ...,
        fingerprint: common_pb2.RootFingerprintRequest | None = ...,
        btc: btc_pb2.BTCRequest | None = ...,
        electrum_encryption_key: keystore_pb2.ElectrumEncryptionKeyRequest | None = ...,
        cardano: cardano_pb2.CardanoRequest | None = ...,
        bip85: keystore_pb2.BIP85Request | None = ...,
        bluetooth: bluetooth_pb2.BluetoothRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["bip85", b"bip85", "bluetooth", b"bluetooth", "btc", b"btc", "btc_pub", b"btc_pub", "btc_sign_init", b"btc_sign_init", "btc_sign_input", b"btc_sign_input", "btc_sign_output", b"btc_sign_output", "cardano", b"cardano", "check_backup", b"check_backup", "check_sdcard", b"check_sdcard", "create_backup", b"create_backup", "device_info", b"device_info", "device_language", b"device_language", "device_name", b"device_name", "electrum_encryption_key", b"electrum_encryption_key", "eth", b"eth", "fingerprint", b"fingerprint", "insert_remove_sdcard", b"insert_remove_sdcard", "list_backups", b"list_backups", "perform_attestation", b"perform_attestation", "reboot", b"reboot", "request", b"request", "reset", b"reset", "restore_backup", b"restore_backup", "restore_from_mnemonic", b"restore_from_mnemonic", "set_mnemonic_passphrase_enabled", b"set_mnemonic_passphrase_enabled", "set_password", b"set_password", "show_mnemonic", b"show_mnemonic"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["bip85", b"bip85", "bluetooth", b"bluetooth", "btc", b"btc", "btc_pub", b"btc_pub", "btc_sign_init", b"btc_sign_init", "btc_sign_input", b"btc_sign_input", "btc_sign_output", b"btc_sign_output", "cardano", b"cardano", "check_backup", b"check_backup", "check_sdcard", b"check_sdcard", "create_backup", b"create_backup", "device_info", b"device_info", "device_language", b"device_language", "device_name", b"device_name", "electrum_encryption_key", b"electrum_encryption_key", "eth", b"eth", "fingerprint", b"fingerprint", "insert_remove_sdcard", b"insert_remove_sdcard", "list_backups", b"list_backups", "perform_attestation", b"perform_attestation", "reboot", b"reboot", "request", b"request", "reset", b"reset", "restore_backup", b"restore_backup", "restore_from_mnemonic", b"restore_from_mnemonic", "set_mnemonic_passphrase_enabled", b"set_mnemonic_passphrase_enabled", "set_password", b"set_password", "show_mnemonic", b"show_mnemonic"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["request", b"request"]) -> typing.Literal["device_name", "device_language", "device_info", "set_password", "create_backup", "show_mnemonic", "btc_pub", "btc_sign_init", "btc_sign_input", "btc_sign_output", "insert_remove_sdcard", "check_sdcard", "set_mnemonic_passphrase_enabled", "list_backups", "restore_backup", "perform_attestation", "reboot", "check_backup", "eth", "reset", "restore_from_mnemonic", "fingerprint", "btc", "electrum_encryption_key", "cardano", "bip85", "bluetooth"] | None: ...

global___Request = Request

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

    SUCCESS_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int
    DEVICE_INFO_FIELD_NUMBER: builtins.int
    PUB_FIELD_NUMBER: builtins.int
    BTC_SIGN_NEXT_FIELD_NUMBER: builtins.int
    LIST_BACKUPS_FIELD_NUMBER: builtins.int
    CHECK_BACKUP_FIELD_NUMBER: builtins.int
    PERFORM_ATTESTATION_FIELD_NUMBER: builtins.int
    CHECK_SDCARD_FIELD_NUMBER: builtins.int
    ETH_FIELD_NUMBER: builtins.int
    FINGERPRINT_FIELD_NUMBER: builtins.int
    BTC_FIELD_NUMBER: builtins.int
    ELECTRUM_ENCRYPTION_KEY_FIELD_NUMBER: builtins.int
    CARDANO_FIELD_NUMBER: builtins.int
    BIP85_FIELD_NUMBER: builtins.int
    BLUETOOTH_FIELD_NUMBER: builtins.int
    @property
    def success(self) -> global___Success: ...
    @property
    def error(self) -> global___Error: ...
    @property
    def device_info(self) -> bitbox02_system_pb2.DeviceInfoResponse:
        """removed: RandomNumberResponse random_number = 3;"""

    @property
    def pub(self) -> common_pb2.PubResponse: ...
    @property
    def btc_sign_next(self) -> btc_pb2.BTCSignNextResponse: ...
    @property
    def list_backups(self) -> backup_commands_pb2.ListBackupsResponse: ...
    @property
    def check_backup(self) -> backup_commands_pb2.CheckBackupResponse: ...
    @property
    def perform_attestation(self) -> perform_attestation_pb2.PerformAttestationResponse: ...
    @property
    def check_sdcard(self) -> bitbox02_system_pb2.CheckSDCardResponse: ...
    @property
    def eth(self) -> eth_pb2.ETHResponse: ...
    @property
    def fingerprint(self) -> common_pb2.RootFingerprintResponse: ...
    @property
    def btc(self) -> btc_pb2.BTCResponse: ...
    @property
    def electrum_encryption_key(self) -> keystore_pb2.ElectrumEncryptionKeyResponse: ...
    @property
    def cardano(self) -> cardano_pb2.CardanoResponse: ...
    @property
    def bip85(self) -> keystore_pb2.BIP85Response: ...
    @property
    def bluetooth(self) -> bluetooth_pb2.BluetoothResponse: ...
    def __init__(
        self,
        *,
        success: global___Success | None = ...,
        error: global___Error | None = ...,
        device_info: bitbox02_system_pb2.DeviceInfoResponse | None = ...,
        pub: common_pb2.PubResponse | None = ...,
        btc_sign_next: btc_pb2.BTCSignNextResponse | None = ...,
        list_backups: backup_commands_pb2.ListBackupsResponse | None = ...,
        check_backup: backup_commands_pb2.CheckBackupResponse | None = ...,
        perform_attestation: perform_attestation_pb2.PerformAttestationResponse | None = ...,
        check_sdcard: bitbox02_system_pb2.CheckSDCardResponse | None = ...,
        eth: eth_pb2.ETHResponse | None = ...,
        fingerprint: common_pb2.RootFingerprintResponse | None = ...,
        btc: btc_pb2.BTCResponse | None = ...,
        electrum_encryption_key: keystore_pb2.ElectrumEncryptionKeyResponse | None = ...,
        cardano: cardano_pb2.CardanoResponse | None = ...,
        bip85: keystore_pb2.BIP85Response | None = ...,
        bluetooth: bluetooth_pb2.BluetoothResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["bip85", b"bip85", "bluetooth", b"bluetooth", "btc", b"btc", "btc_sign_next", b"btc_sign_next", "cardano", b"cardano", "check_backup", b"check_backup", "check_sdcard", b"check_sdcard", "device_info", b"device_info", "electrum_encryption_key", b"electrum_encryption_key", "error", b"error", "eth", b"eth", "fingerprint", b"fingerprint", "list_backups", b"list_backups", "perform_attestation", b"perform_attestation", "pub", b"pub", "response", b"response", "success", b"success"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["bip85", b"bip85", "bluetooth", b"bluetooth", "btc", b"btc", "btc_sign_next", b"btc_sign_next", "cardano", b"cardano", "check_backup", b"check_backup", "check_sdcard", b"check_sdcard", "device_info", b"device_info", "electrum_encryption_key", b"electrum_encryption_key", "error", b"error", "eth", b"eth", "fingerprint", b"fingerprint", "list_backups", b"list_backups", "perform_attestation", b"perform_attestation", "pub", b"pub", "response", b"response", "success", b"success"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["response", b"response"]) -> typing.Literal["success", "error", "device_info", "pub", "btc_sign_next", "list_backups", "check_backup", "perform_attestation", "check_sdcard", "eth", "fingerprint", "btc", "electrum_encryption_key", "cardano", "bip85", "bluetooth"] | None: ...

global___Response = Response
