"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import cosmos.base.query.v1beta1.pagination_pb2
import cosmos.base.v1beta1.coin_pb2
import cosmos.distribution.v1beta1.distribution_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class QueryParamsRequest(google.protobuf.message.Message):
    """QueryParamsRequest is the request type for the Query/Params RPC method."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___QueryParamsRequest = QueryParamsRequest

@typing_extensions.final
class QueryParamsResponse(google.protobuf.message.Message):
    """QueryParamsResponse is the response type for the Query/Params RPC method."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PARAMS_FIELD_NUMBER: builtins.int
    @property
    def params(self) -> cosmos.distribution.v1beta1.distribution_pb2.Params:
        """params defines the parameters of the module."""
    def __init__(
        self,
        *,
        params: cosmos.distribution.v1beta1.distribution_pb2.Params | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["params", b"params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["params", b"params"]) -> None: ...

global___QueryParamsResponse = QueryParamsResponse

@typing_extensions.final
class QueryValidatorOutstandingRewardsRequest(google.protobuf.message.Message):
    """QueryValidatorOutstandingRewardsRequest is the request type for the
    Query/ValidatorOutstandingRewards RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    validator_address: builtins.str
    """validator_address defines the validator address to query for."""
    def __init__(
        self,
        *,
        validator_address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["validator_address", b"validator_address"]) -> None: ...

global___QueryValidatorOutstandingRewardsRequest = QueryValidatorOutstandingRewardsRequest

@typing_extensions.final
class QueryValidatorOutstandingRewardsResponse(google.protobuf.message.Message):
    """QueryValidatorOutstandingRewardsResponse is the response type for the
    Query/ValidatorOutstandingRewards RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REWARDS_FIELD_NUMBER: builtins.int
    @property
    def rewards(self) -> cosmos.distribution.v1beta1.distribution_pb2.ValidatorOutstandingRewards: ...
    def __init__(
        self,
        *,
        rewards: cosmos.distribution.v1beta1.distribution_pb2.ValidatorOutstandingRewards | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["rewards", b"rewards"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["rewards", b"rewards"]) -> None: ...

global___QueryValidatorOutstandingRewardsResponse = QueryValidatorOutstandingRewardsResponse

@typing_extensions.final
class QueryValidatorCommissionRequest(google.protobuf.message.Message):
    """QueryValidatorCommissionRequest is the request type for the
    Query/ValidatorCommission RPC method
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    validator_address: builtins.str
    """validator_address defines the validator address to query for."""
    def __init__(
        self,
        *,
        validator_address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["validator_address", b"validator_address"]) -> None: ...

global___QueryValidatorCommissionRequest = QueryValidatorCommissionRequest

@typing_extensions.final
class QueryValidatorCommissionResponse(google.protobuf.message.Message):
    """QueryValidatorCommissionResponse is the response type for the
    Query/ValidatorCommission RPC method
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COMMISSION_FIELD_NUMBER: builtins.int
    @property
    def commission(self) -> cosmos.distribution.v1beta1.distribution_pb2.ValidatorAccumulatedCommission:
        """commission defines the commision the validator received."""
    def __init__(
        self,
        *,
        commission: cosmos.distribution.v1beta1.distribution_pb2.ValidatorAccumulatedCommission | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["commission", b"commission"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["commission", b"commission"]) -> None: ...

global___QueryValidatorCommissionResponse = QueryValidatorCommissionResponse

@typing_extensions.final
class QueryValidatorSlashesRequest(google.protobuf.message.Message):
    """QueryValidatorSlashesRequest is the request type for the
    Query/ValidatorSlashes RPC method
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    STARTING_HEIGHT_FIELD_NUMBER: builtins.int
    ENDING_HEIGHT_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    validator_address: builtins.str
    """validator_address defines the validator address to query for."""
    starting_height: builtins.int
    """starting_height defines the optional starting height to query the slashes."""
    ending_height: builtins.int
    """starting_height defines the optional ending height to query the slashes."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        validator_address: builtins.str = ...,
        starting_height: builtins.int = ...,
        ending_height: builtins.int = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["ending_height", b"ending_height", "pagination", b"pagination", "starting_height", b"starting_height", "validator_address", b"validator_address"]) -> None: ...

global___QueryValidatorSlashesRequest = QueryValidatorSlashesRequest

@typing_extensions.final
class QueryValidatorSlashesResponse(google.protobuf.message.Message):
    """QueryValidatorSlashesResponse is the response type for the
    Query/ValidatorSlashes RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SLASHES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def slashes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.distribution.v1beta1.distribution_pb2.ValidatorSlashEvent]:
        """slashes defines the slashes the validator received."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        slashes: collections.abc.Iterable[cosmos.distribution.v1beta1.distribution_pb2.ValidatorSlashEvent] | None = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination", "slashes", b"slashes"]) -> None: ...

global___QueryValidatorSlashesResponse = QueryValidatorSlashesResponse

@typing_extensions.final
class QueryDelegationRewardsRequest(google.protobuf.message.Message):
    """QueryDelegationRewardsRequest is the request type for the
    Query/DelegationRewards RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    delegator_address: builtins.str
    """delegator_address defines the delegator address to query for."""
    validator_address: builtins.str
    """validator_address defines the validator address to query for."""
    def __init__(
        self,
        *,
        delegator_address: builtins.str = ...,
        validator_address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegator_address", b"delegator_address", "validator_address", b"validator_address"]) -> None: ...

global___QueryDelegationRewardsRequest = QueryDelegationRewardsRequest

@typing_extensions.final
class QueryDelegationRewardsResponse(google.protobuf.message.Message):
    """QueryDelegationRewardsResponse is the response type for the
    Query/DelegationRewards RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REWARDS_FIELD_NUMBER: builtins.int
    @property
    def rewards(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.DecCoin]:
        """rewards defines the rewards accrued by a delegation."""
    def __init__(
        self,
        *,
        rewards: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.DecCoin] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["rewards", b"rewards"]) -> None: ...

global___QueryDelegationRewardsResponse = QueryDelegationRewardsResponse

@typing_extensions.final
class QueryDelegationTotalRewardsRequest(google.protobuf.message.Message):
    """QueryDelegationTotalRewardsRequest is the request type for the
    Query/DelegationTotalRewards RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    delegator_address: builtins.str
    """delegator_address defines the delegator address to query for."""
    def __init__(
        self,
        *,
        delegator_address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegator_address", b"delegator_address"]) -> None: ...

global___QueryDelegationTotalRewardsRequest = QueryDelegationTotalRewardsRequest

@typing_extensions.final
class QueryDelegationTotalRewardsResponse(google.protobuf.message.Message):
    """QueryDelegationTotalRewardsResponse is the response type for the
    Query/DelegationTotalRewards RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REWARDS_FIELD_NUMBER: builtins.int
    TOTAL_FIELD_NUMBER: builtins.int
    @property
    def rewards(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.distribution.v1beta1.distribution_pb2.DelegationDelegatorReward]:
        """rewards defines all the rewards accrued by a delegator."""
    @property
    def total(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.DecCoin]:
        """total defines the sum of all the rewards."""
    def __init__(
        self,
        *,
        rewards: collections.abc.Iterable[cosmos.distribution.v1beta1.distribution_pb2.DelegationDelegatorReward] | None = ...,
        total: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.DecCoin] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["rewards", b"rewards", "total", b"total"]) -> None: ...

global___QueryDelegationTotalRewardsResponse = QueryDelegationTotalRewardsResponse

@typing_extensions.final
class QueryDelegatorValidatorsRequest(google.protobuf.message.Message):
    """QueryDelegatorValidatorsRequest is the request type for the
    Query/DelegatorValidators RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    delegator_address: builtins.str
    """delegator_address defines the delegator address to query for."""
    def __init__(
        self,
        *,
        delegator_address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegator_address", b"delegator_address"]) -> None: ...

global___QueryDelegatorValidatorsRequest = QueryDelegatorValidatorsRequest

@typing_extensions.final
class QueryDelegatorValidatorsResponse(google.protobuf.message.Message):
    """QueryDelegatorValidatorsResponse is the response type for the
    Query/DelegatorValidators RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATORS_FIELD_NUMBER: builtins.int
    @property
    def validators(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """validators defines the validators a delegator is delegating for."""
    def __init__(
        self,
        *,
        validators: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["validators", b"validators"]) -> None: ...

global___QueryDelegatorValidatorsResponse = QueryDelegatorValidatorsResponse

@typing_extensions.final
class QueryDelegatorWithdrawAddressRequest(google.protobuf.message.Message):
    """QueryDelegatorWithdrawAddressRequest is the request type for the
    Query/DelegatorWithdrawAddress RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    delegator_address: builtins.str
    """delegator_address defines the delegator address to query for."""
    def __init__(
        self,
        *,
        delegator_address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegator_address", b"delegator_address"]) -> None: ...

global___QueryDelegatorWithdrawAddressRequest = QueryDelegatorWithdrawAddressRequest

@typing_extensions.final
class QueryDelegatorWithdrawAddressResponse(google.protobuf.message.Message):
    """QueryDelegatorWithdrawAddressResponse is the response type for the
    Query/DelegatorWithdrawAddress RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WITHDRAW_ADDRESS_FIELD_NUMBER: builtins.int
    withdraw_address: builtins.str
    """withdraw_address defines the delegator address to query for."""
    def __init__(
        self,
        *,
        withdraw_address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["withdraw_address", b"withdraw_address"]) -> None: ...

global___QueryDelegatorWithdrawAddressResponse = QueryDelegatorWithdrawAddressResponse

@typing_extensions.final
class QueryCommunityPoolRequest(google.protobuf.message.Message):
    """QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC
    method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___QueryCommunityPoolRequest = QueryCommunityPoolRequest

@typing_extensions.final
class QueryCommunityPoolResponse(google.protobuf.message.Message):
    """QueryCommunityPoolResponse is the response type for the Query/CommunityPool
    RPC method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    POOL_FIELD_NUMBER: builtins.int
    @property
    def pool(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.DecCoin]:
        """pool defines community pool's coins."""
    def __init__(
        self,
        *,
        pool: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.DecCoin] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool", b"pool"]) -> None: ...

global___QueryCommunityPoolResponse = QueryCommunityPoolResponse
