# @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.internal.containers import (
    RepeatedCompositeFieldContainer as google___protobuf___internal___containers___RepeatedCompositeFieldContainer,
    RepeatedScalarFieldContainer as google___protobuf___internal___containers___RepeatedScalarFieldContainer,
)

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

from .ledger_pb2 import (
    BookSuccessor as org___xrpl___rpc___v1___ledger_pb2___BookSuccessor,
    LedgerSpecifier as org___xrpl___rpc___v1___ledger_pb2___LedgerSpecifier,
    RawLedgerObjects as org___xrpl___rpc___v1___ledger_pb2___RawLedgerObjects,
)

from typing import (
    Iterable as typing___Iterable,
    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 GetLedgerRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    transactions: builtin___bool = ...
    expand: builtin___bool = ...
    get_objects: builtin___bool = ...
    client_ip: typing___Text = ...
    user: typing___Text = ...
    get_object_neighbors: builtin___bool = ...

    @property
    def ledger(self) -> org___xrpl___rpc___v1___ledger_pb2___LedgerSpecifier: ...

    def __init__(self,
        *,
        ledger : typing___Optional[org___xrpl___rpc___v1___ledger_pb2___LedgerSpecifier] = None,
        transactions : typing___Optional[builtin___bool] = None,
        expand : typing___Optional[builtin___bool] = None,
        get_objects : typing___Optional[builtin___bool] = None,
        client_ip : typing___Optional[typing___Text] = None,
        user : typing___Optional[typing___Text] = None,
        get_object_neighbors : typing___Optional[builtin___bool] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> GetLedgerRequest: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> GetLedgerRequest: ...
    def HasField(self, field_name: typing_extensions___Literal[u"ledger",b"ledger"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"client_ip",b"client_ip",u"expand",b"expand",u"get_object_neighbors",b"get_object_neighbors",u"get_objects",b"get_objects",u"ledger",b"ledger",u"transactions",b"transactions",u"user",b"user"]) -> None: ...
type___GetLedgerRequest = GetLedgerRequest

class GetLedgerResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ledger_header: builtin___bytes = ...
    validated: builtin___bool = ...
    skiplist_included: builtin___bool = ...
    is_unlimited: builtin___bool = ...
    objects_included: builtin___bool = ...
    object_neighbors_included: builtin___bool = ...

    @property
    def hashes_list(self) -> type___TransactionHashList: ...

    @property
    def transactions_list(self) -> type___TransactionAndMetadataList: ...

    @property
    def ledger_objects(self) -> org___xrpl___rpc___v1___ledger_pb2___RawLedgerObjects: ...

    @property
    def book_successors(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[org___xrpl___rpc___v1___ledger_pb2___BookSuccessor]: ...

    def __init__(self,
        *,
        ledger_header : typing___Optional[builtin___bytes] = None,
        hashes_list : typing___Optional[type___TransactionHashList] = None,
        transactions_list : typing___Optional[type___TransactionAndMetadataList] = None,
        validated : typing___Optional[builtin___bool] = None,
        ledger_objects : typing___Optional[org___xrpl___rpc___v1___ledger_pb2___RawLedgerObjects] = None,
        skiplist_included : typing___Optional[builtin___bool] = None,
        is_unlimited : typing___Optional[builtin___bool] = None,
        objects_included : typing___Optional[builtin___bool] = None,
        object_neighbors_included : typing___Optional[builtin___bool] = None,
        book_successors : typing___Optional[typing___Iterable[org___xrpl___rpc___v1___ledger_pb2___BookSuccessor]] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> GetLedgerResponse: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> GetLedgerResponse: ...
    def HasField(self, field_name: typing_extensions___Literal[u"hashes_list",b"hashes_list",u"ledger_objects",b"ledger_objects",u"transactions",b"transactions",u"transactions_list",b"transactions_list"]) -> builtin___bool: ...
    def ClearField(self, field_name: typing_extensions___Literal[u"book_successors",b"book_successors",u"hashes_list",b"hashes_list",u"is_unlimited",b"is_unlimited",u"ledger_header",b"ledger_header",u"ledger_objects",b"ledger_objects",u"object_neighbors_included",b"object_neighbors_included",u"objects_included",b"objects_included",u"skiplist_included",b"skiplist_included",u"transactions",b"transactions",u"transactions_list",b"transactions_list",u"validated",b"validated"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"transactions",b"transactions"]) -> typing_extensions___Literal["hashes_list","transactions_list"]: ...
type___GetLedgerResponse = GetLedgerResponse

class TransactionHashList(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    hashes: google___protobuf___internal___containers___RepeatedScalarFieldContainer[builtin___bytes] = ...

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

class TransactionAndMetadata(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    transaction_blob: builtin___bytes = ...
    metadata_blob: builtin___bytes = ...

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

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

    @property
    def transactions(self) -> google___protobuf___internal___containers___RepeatedCompositeFieldContainer[type___TransactionAndMetadata]: ...

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