"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
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 typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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."""
        pass
    def __init__(self,
        *,
        params: typing.Optional[cosmos.distribution.v1beta1.distribution_pb2.Params] = ...,
        ) -> 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

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: typing.Text
    """validator_address defines the validator address to query for."""

    def __init__(self,
        *,
        validator_address: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["validator_address",b"validator_address"]) -> None: ...
global___QueryValidatorOutstandingRewardsRequest = QueryValidatorOutstandingRewardsRequest

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: typing.Optional[cosmos.distribution.v1beta1.distribution_pb2.ValidatorOutstandingRewards] = ...,
        ) -> 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

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: typing.Text
    """validator_address defines the validator address to query for."""

    def __init__(self,
        *,
        validator_address: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["validator_address",b"validator_address"]) -> None: ...
global___QueryValidatorCommissionRequest = QueryValidatorCommissionRequest

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."""
        pass
    def __init__(self,
        *,
        commission: typing.Optional[cosmos.distribution.v1beta1.distribution_pb2.ValidatorAccumulatedCommission] = ...,
        ) -> 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

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: typing.Text
    """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."""
        pass
    def __init__(self,
        *,
        validator_address: typing.Text = ...,
        starting_height: builtins.int = ...,
        ending_height: builtins.int = ...,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageRequest] = ...,
        ) -> 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

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."""
        pass
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
        pass
    def __init__(self,
        *,
        slashes: typing.Optional[typing.Iterable[cosmos.distribution.v1beta1.distribution_pb2.ValidatorSlashEvent]] = ...,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageResponse] = ...,
        ) -> 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

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: typing.Text
    """delegator_address defines the delegator address to query for."""

    validator_address: typing.Text
    """validator_address defines the validator address to query for."""

    def __init__(self,
        *,
        delegator_address: typing.Text = ...,
        validator_address: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegator_address",b"delegator_address","validator_address",b"validator_address"]) -> None: ...
global___QueryDelegationRewardsRequest = QueryDelegationRewardsRequest

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."""
        pass
    def __init__(self,
        *,
        rewards: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.DecCoin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["rewards",b"rewards"]) -> None: ...
global___QueryDelegationRewardsResponse = QueryDelegationRewardsResponse

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: typing.Text
    """delegator_address defines the delegator address to query for."""

    def __init__(self,
        *,
        delegator_address: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegator_address",b"delegator_address"]) -> None: ...
global___QueryDelegationTotalRewardsRequest = QueryDelegationTotalRewardsRequest

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."""
        pass
    @property
    def total(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.DecCoin]:
        """total defines the sum of all the rewards."""
        pass
    def __init__(self,
        *,
        rewards: typing.Optional[typing.Iterable[cosmos.distribution.v1beta1.distribution_pb2.DelegationDelegatorReward]] = ...,
        total: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.DecCoin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["rewards",b"rewards","total",b"total"]) -> None: ...
global___QueryDelegationTotalRewardsResponse = QueryDelegationTotalRewardsResponse

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: typing.Text
    """delegator_address defines the delegator address to query for."""

    def __init__(self,
        *,
        delegator_address: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegator_address",b"delegator_address"]) -> None: ...
global___QueryDelegatorValidatorsRequest = QueryDelegatorValidatorsRequest

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[typing.Text]:
        """validators defines the validators a delegator is delegating for."""
        pass
    def __init__(self,
        *,
        validators: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["validators",b"validators"]) -> None: ...
global___QueryDelegatorValidatorsResponse = QueryDelegatorValidatorsResponse

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: typing.Text
    """delegator_address defines the delegator address to query for."""

    def __init__(self,
        *,
        delegator_address: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegator_address",b"delegator_address"]) -> None: ...
global___QueryDelegatorWithdrawAddressRequest = QueryDelegatorWithdrawAddressRequest

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: typing.Text
    """withdraw_address defines the delegator address to query for."""

    def __init__(self,
        *,
        withdraw_address: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["withdraw_address",b"withdraw_address"]) -> None: ...
global___QueryDelegatorWithdrawAddressResponse = QueryDelegatorWithdrawAddressResponse

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

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."""
        pass
    def __init__(self,
        *,
        pool: typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.DecCoin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool",b"pool"]) -> None: ...
global___QueryCommunityPoolResponse = QueryCommunityPoolResponse
