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

from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
)

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

from .common_pb2 import (
    DeliveredAmount as org___xrpl___rpc___v1___common_pb2___DeliveredAmount,
    PreviousTransactionID as org___xrpl___rpc___v1___common_pb2___PreviousTransactionID,
    PreviousTransactionLedgerSequence as org___xrpl___rpc___v1___common_pb2___PreviousTransactionLedgerSequence,
)

from .ledger_objects_pb2 import (
    LedgerEntryTypeValue as org___xrpl___rpc___v1___ledger_objects_pb2___LedgerEntryTypeValue,
    LedgerObject as org___xrpl___rpc___v1___ledger_objects_pb2___LedgerObject,
)

from typing import (
    Iterable as typing___Iterable,
    List as typing___List,
    NewType as typing___NewType,
    Optional as typing___Optional,
    Text as typing___Text,
    Tuple as typing___Tuple,
    Union as typing___Union,
    cast as typing___cast,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


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


DESCRIPTOR: google___protobuf___descriptor___FileDescriptor = ...

class SubmitMetadataRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ledger_sequence: builtin___int = ...

    @property
    def affected_nodes(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___AffectedNode]: ...

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

class SubmitMetadataResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    success: builtin___bool = ...
    msg: typing___Text = ...

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

class PrepareLedgerRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ledger_index: builtin___int = ...

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

class PrepareLedgerResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    success: builtin___bool = ...
    msg: typing___Text = ...

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

class Meta(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    transaction_index: builtin___int = ...

    @property
    def transaction_result(self) -> type___TransactionResult: ...

    @property
    def affected_nodes(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___AffectedNode]: ...

    @property
    def delivered_amount(self) -> org___xrpl___rpc___v1___common_pb2___DeliveredAmount: ...

    def __init__(self,
        *,
        transaction_index : typing___Optional[builtin___int] = None,
        transaction_result : typing___Optional[type___TransactionResult] = None,
        affected_nodes : typing___Optional[typing___Iterable[type___AffectedNode]] = None,
        delivered_amount : typing___Optional[org___xrpl___rpc___v1___common_pb2___DeliveredAmount] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Meta: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Meta: ...
    def HasField(self, field_name: typing_extensions___Literal[u"delivered_amount",b"delivered_amount",u"transaction_result",b"transaction_result"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"affected_nodes",b"affected_nodes",u"delivered_amount",b"delivered_amount",u"transaction_index",b"transaction_index",u"transaction_result",b"transaction_result"]) -> None: ...
type___Meta = Meta

class TransactionResult(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ResultTypeValue = typing___NewType('ResultTypeValue', builtin___int)
    type___ResultTypeValue = ResultTypeValue
    class ResultType(object):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: builtin___int) -> builtin___str: ...
        @classmethod
        def Value(cls, name: builtin___str) -> TransactionResult.ResultTypeValue: ...
        @classmethod
        def keys(cls) -> typing___List[builtin___str]: ...
        @classmethod
        def values(cls) -> typing___List[TransactionResult.ResultTypeValue]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[builtin___str, TransactionResult.ResultTypeValue]]: ...
        RESULT_TYPE_UNSPECIFIED = typing___cast(TransactionResult.ResultTypeValue, 0)
        RESULT_TYPE_TEC = typing___cast(TransactionResult.ResultTypeValue, 1)
        RESULT_TYPE_TEF = typing___cast(TransactionResult.ResultTypeValue, 2)
        RESULT_TYPE_TEL = typing___cast(TransactionResult.ResultTypeValue, 3)
        RESULT_TYPE_TEM = typing___cast(TransactionResult.ResultTypeValue, 4)
        RESULT_TYPE_TER = typing___cast(TransactionResult.ResultTypeValue, 5)
        RESULT_TYPE_TES = typing___cast(TransactionResult.ResultTypeValue, 6)
    RESULT_TYPE_UNSPECIFIED = typing___cast(TransactionResult.ResultTypeValue, 0)
    RESULT_TYPE_TEC = typing___cast(TransactionResult.ResultTypeValue, 1)
    RESULT_TYPE_TEF = typing___cast(TransactionResult.ResultTypeValue, 2)
    RESULT_TYPE_TEL = typing___cast(TransactionResult.ResultTypeValue, 3)
    RESULT_TYPE_TEM = typing___cast(TransactionResult.ResultTypeValue, 4)
    RESULT_TYPE_TER = typing___cast(TransactionResult.ResultTypeValue, 5)
    RESULT_TYPE_TES = typing___cast(TransactionResult.ResultTypeValue, 6)
    type___ResultType = ResultType

    result_type: type___TransactionResult.ResultTypeValue = ...
    result: typing___Text = ...

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

class AffectedNode(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ledger_entry_type: org___xrpl___rpc___v1___ledger_objects_pb2___LedgerEntryTypeValue = ...
    ledger_index: builtin___bytes = ...

    @property
    def created_node(self) -> type___CreatedNode: ...

    @property
    def deleted_node(self) -> type___DeletedNode: ...

    @property
    def modified_node(self) -> type___ModifiedNode: ...

    def __init__(self,
        *,
        ledger_entry_type : typing___Optional[org___xrpl___rpc___v1___ledger_objects_pb2___LedgerEntryTypeValue] = None,
        ledger_index : typing___Optional[builtin___bytes] = None,
        created_node : typing___Optional[type___CreatedNode] = None,
        deleted_node : typing___Optional[type___DeletedNode] = None,
        modified_node : typing___Optional[type___ModifiedNode] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> AffectedNode: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> AffectedNode: ...
    def HasField(self, field_name: typing_extensions___Literal[u"created_node",b"created_node",u"deleted_node",b"deleted_node",u"modified_node",b"modified_node",u"node",b"node"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"created_node",b"created_node",u"deleted_node",b"deleted_node",u"ledger_entry_type",b"ledger_entry_type",u"ledger_index",b"ledger_index",u"modified_node",b"modified_node",u"node",b"node"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"node",b"node"]) -> typing_extensions___Literal["created_node","deleted_node","modified_node"]: ...
type___AffectedNode = AffectedNode

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

    @property
    def new_fields(self) -> org___xrpl___rpc___v1___ledger_objects_pb2___LedgerObject: ...

    def __init__(self,
        *,
        new_fields : typing___Optional[org___xrpl___rpc___v1___ledger_objects_pb2___LedgerObject] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> CreatedNode: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> CreatedNode: ...
    def HasField(self, field_name: typing_extensions___Literal[u"new_fields",b"new_fields"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"new_fields",b"new_fields"]) -> None: ...
type___CreatedNode = CreatedNode

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

    @property
    def final_fields(self) -> org___xrpl___rpc___v1___ledger_objects_pb2___LedgerObject: ...

    def __init__(self,
        *,
        final_fields : typing___Optional[org___xrpl___rpc___v1___ledger_objects_pb2___LedgerObject] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> DeletedNode: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> DeletedNode: ...
    def HasField(self, field_name: typing_extensions___Literal[u"final_fields",b"final_fields"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"final_fields",b"final_fields"]) -> None: ...
type___DeletedNode = DeletedNode

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

    @property
    def final_fields(self) -> org___xrpl___rpc___v1___ledger_objects_pb2___LedgerObject: ...

    @property
    def previous_fields(self) -> org___xrpl___rpc___v1___ledger_objects_pb2___LedgerObject: ...

    @property
    def previous_transaction_id(self) -> org___xrpl___rpc___v1___common_pb2___PreviousTransactionID: ...

    @property
    def previous_transaction_ledger_sequence(self) -> org___xrpl___rpc___v1___common_pb2___PreviousTransactionLedgerSequence: ...

    def __init__(self,
        *,
        final_fields : typing___Optional[org___xrpl___rpc___v1___ledger_objects_pb2___LedgerObject] = None,
        previous_fields : typing___Optional[org___xrpl___rpc___v1___ledger_objects_pb2___LedgerObject] = None,
        previous_transaction_id : typing___Optional[org___xrpl___rpc___v1___common_pb2___PreviousTransactionID] = None,
        previous_transaction_ledger_sequence : typing___Optional[org___xrpl___rpc___v1___common_pb2___PreviousTransactionLedgerSequence] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> ModifiedNode: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> ModifiedNode: ...
    def HasField(self, field_name: typing_extensions___Literal[u"final_fields",b"final_fields",u"previous_fields",b"previous_fields",u"previous_transaction_id",b"previous_transaction_id",u"previous_transaction_ledger_sequence",b"previous_transaction_ledger_sequence"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"final_fields",b"final_fields",u"previous_fields",b"previous_fields",u"previous_transaction_id",b"previous_transaction_id",u"previous_transaction_ledger_sequence",b"previous_transaction_ledger_sequence"]) -> None: ...
type___ModifiedNode = ModifiedNode
