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

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 .account_pb2 import (
    AccountAddress as org___xrpl___rpc___v1___account_pb2___AccountAddress,
)

from .get_transaction_pb2 import (
    GetTransactionResponse as org___xrpl___rpc___v1___get_transaction_pb2___GetTransactionResponse,
)

from .ledger_pb2 import (
    LedgerRange as org___xrpl___rpc___v1___ledger_pb2___LedgerRange,
    LedgerSpecifier as org___xrpl___rpc___v1___ledger_pb2___LedgerSpecifier,
)

from typing import (
    Iterable as typing___Iterable,
    Optional as typing___Optional,
    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


class GetAccountTransactionHistoryRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    binary = ... # type: builtin___bool
    forward = ... # type: builtin___bool
    limit = ... # type: builtin___int

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

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

    @property
    def ledger_range(self) -> org___xrpl___rpc___v1___ledger_pb2___LedgerRange: ...

    @property
    def marker(self) -> Marker: ...

    def __init__(self,
        *,
        account : typing___Optional[org___xrpl___rpc___v1___account_pb2___AccountAddress] = None,
        ledger_specifier : typing___Optional[org___xrpl___rpc___v1___ledger_pb2___LedgerSpecifier] = None,
        ledger_range : typing___Optional[org___xrpl___rpc___v1___ledger_pb2___LedgerRange] = None,
        binary : typing___Optional[builtin___bool] = None,
        forward : typing___Optional[builtin___bool] = None,
        limit : typing___Optional[builtin___int] = None,
        marker : typing___Optional[Marker] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> GetAccountTransactionHistoryRequest: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> GetAccountTransactionHistoryRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"account",u"ledger",u"ledger_range",u"ledger_specifier",u"marker"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"account",u"binary",u"forward",u"ledger",u"ledger_range",u"ledger_specifier",u"limit",u"marker"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"account",b"account",u"ledger",b"ledger",u"ledger_range",b"ledger_range",u"ledger_specifier",b"ledger_specifier",u"marker",b"marker"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"account",b"account",u"binary",b"binary",u"forward",b"forward",u"ledger",b"ledger",u"ledger_range",b"ledger_range",u"ledger_specifier",b"ledger_specifier",u"limit",b"limit",u"marker",b"marker"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions___Literal[u"ledger",b"ledger"]) -> typing_extensions___Literal["ledger_specifier","ledger_range"]: ...

class GetAccountTransactionHistoryResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ledger_index_min = ... # type: builtin___int
    ledger_index_max = ... # type: builtin___int
    limit = ... # type: builtin___int
    validated = ... # type: builtin___bool

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

    @property
    def marker(self) -> Marker: ...

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

    def __init__(self,
        *,
        account : typing___Optional[org___xrpl___rpc___v1___account_pb2___AccountAddress] = None,
        ledger_index_min : typing___Optional[builtin___int] = None,
        ledger_index_max : typing___Optional[builtin___int] = None,
        limit : typing___Optional[builtin___int] = None,
        marker : typing___Optional[Marker] = None,
        transactions : typing___Optional[typing___Iterable[org___xrpl___rpc___v1___get_transaction_pb2___GetTransactionResponse]] = None,
        validated : typing___Optional[builtin___bool] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> GetAccountTransactionHistoryResponse: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> GetAccountTransactionHistoryResponse: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"account",u"marker"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"account",u"ledger_index_max",u"ledger_index_min",u"limit",u"marker",u"transactions",u"validated"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"account",b"account",u"marker",b"marker"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"account",b"account",u"ledger_index_max",b"ledger_index_max",u"ledger_index_min",b"ledger_index_min",u"limit",b"limit",u"marker",b"marker",u"transactions",b"transactions",u"validated",b"validated"]) -> None: ...

class Marker(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    ledger_index = ... # type: builtin___int
    account_sequence = ... # type: builtin___int

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