# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    FileDescriptor as google___protobuf___descriptor___FileDescriptor,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from .account_pb2 import (
    AccountAddress as org___xrpl___rpc___v1___account_pb2___AccountAddress,
)

from typing import (
    Optional as typing___Optional,
    Text as typing___Text,
    Union as typing___Union,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


builtin___bool = bool
builtin___bytes = bytes
builtin___float = float
builtin___int = int
if sys.version_info < (3,):
    builtin___buffer = buffer
    builtin___unicode = unicode


DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class CurrencyAmount(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    @property
    def xrp_amount(self) -> type___XRPDropsAmount: ...

    @property
    def issued_currency_amount(self) -> type___IssuedCurrencyAmount: ...

    def __init__(self,
        *,
        xrp_amount : typing___Optional[type___XRPDropsAmount] = None,
        issued_currency_amount : typing___Optional[type___IssuedCurrencyAmount] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> CurrencyAmount: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> CurrencyAmount: ...
    def HasField(self, field_name: typing_extensions___Literal[u"amount",b"amount",u"issued_currency_amount",b"issued_currency_amount",u"xrp_amount",b"xrp_amount"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"amount",b"amount",u"issued_currency_amount",b"issued_currency_amount",u"xrp_amount",b"xrp_amount"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"amount",b"amount"]) -> typing_extensions___Literal["xrp_amount","issued_currency_amount"]: ...
type___CurrencyAmount = CurrencyAmount

class XRPDropsAmount(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    drops: builtin___int = ...

    def __init__(self,
        *,
        drops : typing___Optional[builtin___int] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> XRPDropsAmount: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> XRPDropsAmount: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"drops",b"drops"]) -> None: ...
type___XRPDropsAmount = XRPDropsAmount

class IssuedCurrencyAmount(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    value: typing___Text = ...

    @property
    def currency(self) -> type___Currency: ...

    @property
    def issuer(self) -> org___xrpl___rpc___v1___account_pb2___AccountAddress: ...

    def __init__(self,
        *,
        currency : typing___Optional[type___Currency] = None,
        value : typing___Optional[typing___Text] = None,
        issuer : typing___Optional[org___xrpl___rpc___v1___account_pb2___AccountAddress] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> IssuedCurrencyAmount: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> IssuedCurrencyAmount: ...
    def HasField(self, field_name: typing_extensions___Literal[u"currency",b"currency",u"issuer",b"issuer"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"currency",b"currency",u"issuer",b"issuer",u"value",b"value"]) -> None: ...
type___IssuedCurrencyAmount = IssuedCurrencyAmount

class Currency(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    name: typing___Text = ...
    code: builtin___bytes = ...

    def __init__(self,
        *,
        name : typing___Optional[typing___Text] = None,
        code : typing___Optional[builtin___bytes] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Currency: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Currency: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"code",b"code",u"name",b"name"]) -> None: ...
type___Currency = Currency
