# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: cosmos/crypto/keyring/v1/record.proto
# plugin: python-betterproto
# This file has been @generated

from dataclasses import dataclass

import betterproto
import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf

from ...hd import v1 as __hd_v1__


@dataclass(eq=False, repr=False)
class Record(betterproto.Message):
    """Record is used for representing a key in the keyring."""

    name: str = betterproto.string_field(1)
    """name represents a name of Record"""

    pub_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2)
    """pub_key represents a public key in any format"""

    local: "RecordLocal" = betterproto.message_field(3, group="item")
    """local stores the private key locally."""

    ledger: "RecordLedger" = betterproto.message_field(4, group="item")
    """ledger stores the information about a Ledger key."""

    multi: "RecordMulti" = betterproto.message_field(5, group="item")
    """Multi does not store any other information."""

    offline: "RecordOffline" = betterproto.message_field(6, group="item")
    """Offline does not store any other information."""


@dataclass(eq=False, repr=False)
class RecordLocal(betterproto.Message):
    """Item is a keyring item stored in a keyring backend. Local item"""

    priv_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1)


@dataclass(eq=False, repr=False)
class RecordLedger(betterproto.Message):
    """Ledger item"""

    path: "__hd_v1__.Bip44Params" = betterproto.message_field(1)


@dataclass(eq=False, repr=False)
class RecordMulti(betterproto.Message):
    """Multi item"""

    pass


@dataclass(eq=False, repr=False)
class RecordOffline(betterproto.Message):
    """Offline item"""

    pass
