# @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.message import (
    Message as google___protobuf___message___Message,
)

from .amount_pb2 import (
    XRPDropsAmount as org___xrpl___rpc___v1___amount_pb2___XRPDropsAmount,
)

from typing import (
    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 GetFeeRequest(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...

    def __init__(self,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> GetFeeRequest: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> GetFeeRequest: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...

class GetFeeResponse(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    current_ledger_size = ... # type: builtin___int
    current_queue_size = ... # type: builtin___int
    expected_ledger_size = ... # type: builtin___int
    ledger_current_index = ... # type: builtin___int
    max_queue_size = ... # type: builtin___int

    @property
    def fee(self) -> Fee: ...

    @property
    def levels(self) -> FeeLevels: ...

    def __init__(self,
        *,
        current_ledger_size : typing___Optional[builtin___int] = None,
        current_queue_size : typing___Optional[builtin___int] = None,
        fee : typing___Optional[Fee] = None,
        expected_ledger_size : typing___Optional[builtin___int] = None,
        ledger_current_index : typing___Optional[builtin___int] = None,
        levels : typing___Optional[FeeLevels] = None,
        max_queue_size : typing___Optional[builtin___int] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> GetFeeResponse: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> GetFeeResponse: ...
    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"fee",u"levels"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"current_ledger_size",u"current_queue_size",u"expected_ledger_size",u"fee",u"ledger_current_index",u"levels",u"max_queue_size"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"fee",b"fee",u"levels",b"levels"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"current_ledger_size",b"current_ledger_size",u"current_queue_size",b"current_queue_size",u"expected_ledger_size",b"expected_ledger_size",u"fee",b"fee",u"ledger_current_index",b"ledger_current_index",u"levels",b"levels",u"max_queue_size",b"max_queue_size"]) -> None: ...

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

    @property
    def base_fee(self) -> org___xrpl___rpc___v1___amount_pb2___XRPDropsAmount: ...

    @property
    def median_fee(self) -> org___xrpl___rpc___v1___amount_pb2___XRPDropsAmount: ...

    @property
    def minimum_fee(self) -> org___xrpl___rpc___v1___amount_pb2___XRPDropsAmount: ...

    @property
    def open_ledger_fee(self) -> org___xrpl___rpc___v1___amount_pb2___XRPDropsAmount: ...

    def __init__(self,
        *,
        base_fee : typing___Optional[org___xrpl___rpc___v1___amount_pb2___XRPDropsAmount] = None,
        median_fee : typing___Optional[org___xrpl___rpc___v1___amount_pb2___XRPDropsAmount] = None,
        minimum_fee : typing___Optional[org___xrpl___rpc___v1___amount_pb2___XRPDropsAmount] = None,
        open_ledger_fee : typing___Optional[org___xrpl___rpc___v1___amount_pb2___XRPDropsAmount] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> Fee: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> Fee: ...
    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"base_fee",u"median_fee",u"minimum_fee",u"open_ledger_fee"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"base_fee",u"median_fee",u"minimum_fee",u"open_ledger_fee"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"base_fee",b"base_fee",u"median_fee",b"median_fee",u"minimum_fee",b"minimum_fee",u"open_ledger_fee",b"open_ledger_fee"]) -> builtin___bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"base_fee",b"base_fee",u"median_fee",b"median_fee",u"minimum_fee",b"minimum_fee",u"open_ledger_fee",b"open_ledger_fee"]) -> None: ...

class FeeLevels(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    median_level = ... # type: builtin___int
    minimum_level = ... # type: builtin___int
    open_ledger_level = ... # type: builtin___int
    reference_level = ... # type: builtin___int

    def __init__(self,
        *,
        median_level : typing___Optional[builtin___int] = None,
        minimum_level : typing___Optional[builtin___int] = None,
        open_ledger_level : typing___Optional[builtin___int] = None,
        reference_level : typing___Optional[builtin___int] = None,
        ) -> None: ...
    if sys.version_info >= (3,):
        @classmethod
        def FromString(cls, s: builtin___bytes) -> FeeLevels: ...
    else:
        @classmethod
        def FromString(cls, s: typing___Union[builtin___bytes, builtin___buffer, builtin___unicode]) -> FeeLevels: ...
    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"median_level",u"minimum_level",u"open_ledger_level",u"reference_level"]) -> None: ...
    else:
        def ClearField(self, field_name: typing_extensions___Literal[u"median_level",b"median_level",u"minimum_level",b"minimum_level",u"open_ledger_level",b"open_ledger_level",u"reference_level",b"reference_level"]) -> None: ...
