"""
@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 = ...

# QueryParamsRequest is the request type for the Query/Params RPC method.
class QueryParamsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___QueryParamsRequest = QueryParamsRequest

# QueryParamsResponse is the response type for the Query/Params RPC method.
class QueryParamsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PARAMS_FIELD_NUMBER: builtins.int
    # params defines the parameters of the module.
    @property
    def params(self) -> cosmos.distribution.v1beta1.distribution_pb2.Params: ...
    def __init__(self,
        *,
        params : typing.Optional[cosmos.distribution.v1beta1.distribution_pb2.Params] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"params",b"params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"params",b"params"]) -> None: ...
global___QueryParamsResponse = QueryParamsResponse

# QueryValidatorOutstandingRewardsRequest is the request type for the
# Query/ValidatorOutstandingRewards RPC method.
class QueryValidatorOutstandingRewardsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    # validator_address defines the validator address to query for.
    validator_address: typing.Text = ...
    def __init__(self,
        *,
        validator_address : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"validator_address",b"validator_address"]) -> None: ...
global___QueryValidatorOutstandingRewardsRequest = QueryValidatorOutstandingRewardsRequest

# QueryValidatorOutstandingRewardsResponse is the response type for the
# Query/ValidatorOutstandingRewards RPC method.
class QueryValidatorOutstandingRewardsResponse(google.protobuf.message.Message):
    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[u"rewards",b"rewards"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"rewards",b"rewards"]) -> None: ...
global___QueryValidatorOutstandingRewardsResponse = QueryValidatorOutstandingRewardsResponse

# QueryValidatorCommissionRequest is the request type for the
# Query/ValidatorCommission RPC method
class QueryValidatorCommissionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    # validator_address defines the validator address to query for.
    validator_address: typing.Text = ...
    def __init__(self,
        *,
        validator_address : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"validator_address",b"validator_address"]) -> None: ...
global___QueryValidatorCommissionRequest = QueryValidatorCommissionRequest

# QueryValidatorCommissionResponse is the response type for the
# Query/ValidatorCommission RPC method
class QueryValidatorCommissionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    COMMISSION_FIELD_NUMBER: builtins.int
    # commission defines the commision the validator received.
    @property
    def commission(self) -> cosmos.distribution.v1beta1.distribution_pb2.ValidatorAccumulatedCommission: ...
    def __init__(self,
        *,
        commission : typing.Optional[cosmos.distribution.v1beta1.distribution_pb2.ValidatorAccumulatedCommission] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"commission",b"commission"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"commission",b"commission"]) -> None: ...
global___QueryValidatorCommissionResponse = QueryValidatorCommissionResponse

# QueryValidatorSlashesRequest is the request type for the
# Query/ValidatorSlashes RPC method
class QueryValidatorSlashesRequest(google.protobuf.message.Message):
    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 defines the validator address to query for.
    validator_address: typing.Text = ...
    # starting_height defines the optional starting height to query the slashes.
    starting_height: builtins.int = ...
    # starting_height defines the optional ending height to query the slashes.
    ending_height: builtins.int = ...
    # pagination defines an optional pagination for the request.
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest: ...
    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[u"pagination",b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"ending_height",b"ending_height",u"pagination",b"pagination",u"starting_height",b"starting_height",u"validator_address",b"validator_address"]) -> None: ...
global___QueryValidatorSlashesRequest = QueryValidatorSlashesRequest

# QueryValidatorSlashesResponse is the response type for the
# Query/ValidatorSlashes RPC method.
class QueryValidatorSlashesResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SLASHES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    # slashes defines the slashes the validator received.
    @property
    def slashes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.distribution.v1beta1.distribution_pb2.ValidatorSlashEvent]: ...
    # pagination defines the pagination in the response.
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse: ...
    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[u"pagination",b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"pagination",b"pagination",u"slashes",b"slashes"]) -> None: ...
global___QueryValidatorSlashesResponse = QueryValidatorSlashesResponse

# QueryDelegationRewardsRequest is the request type for the
# Query/DelegationRewards RPC method.
class QueryDelegationRewardsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    # delegator_address defines the delegator address to query for.
    delegator_address: typing.Text = ...
    # validator_address defines the validator address to query for.
    validator_address: typing.Text = ...
    def __init__(self,
        *,
        delegator_address : typing.Text = ...,
        validator_address : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"delegator_address",b"delegator_address",u"validator_address",b"validator_address"]) -> None: ...
global___QueryDelegationRewardsRequest = QueryDelegationRewardsRequest

# QueryDelegationRewardsResponse is the response type for the
# Query/DelegationRewards RPC method.
class QueryDelegationRewardsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    REWARDS_FIELD_NUMBER: builtins.int
    # rewards defines the rewards accrued by a delegation.
    @property
    def rewards(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.DecCoin]: ...
    def __init__(self,
        *,
        rewards : typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.DecCoin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"rewards",b"rewards"]) -> None: ...
global___QueryDelegationRewardsResponse = QueryDelegationRewardsResponse

# QueryDelegationTotalRewardsRequest is the request type for the
# Query/DelegationTotalRewards RPC method.
class QueryDelegationTotalRewardsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    # delegator_address defines the delegator address to query for.
    delegator_address: typing.Text = ...
    def __init__(self,
        *,
        delegator_address : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"delegator_address",b"delegator_address"]) -> None: ...
global___QueryDelegationTotalRewardsRequest = QueryDelegationTotalRewardsRequest

# QueryDelegationTotalRewardsResponse is the response type for the
# Query/DelegationTotalRewards RPC method.
class QueryDelegationTotalRewardsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    REWARDS_FIELD_NUMBER: builtins.int
    TOTAL_FIELD_NUMBER: builtins.int
    # rewards defines all the rewards accrued by a delegator.
    @property
    def rewards(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.distribution.v1beta1.distribution_pb2.DelegationDelegatorReward]: ...
    # total defines the sum of all the rewards.
    @property
    def total(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.DecCoin]: ...
    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[u"rewards",b"rewards",u"total",b"total"]) -> None: ...
global___QueryDelegationTotalRewardsResponse = QueryDelegationTotalRewardsResponse

# QueryDelegatorValidatorsRequest is the request type for the
# Query/DelegatorValidators RPC method.
class QueryDelegatorValidatorsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    # delegator_address defines the delegator address to query for.
    delegator_address: typing.Text = ...
    def __init__(self,
        *,
        delegator_address : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"delegator_address",b"delegator_address"]) -> None: ...
global___QueryDelegatorValidatorsRequest = QueryDelegatorValidatorsRequest

# QueryDelegatorValidatorsResponse is the response type for the
# Query/DelegatorValidators RPC method.
class QueryDelegatorValidatorsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    VALIDATORS_FIELD_NUMBER: builtins.int
    # validators defines the validators a delegator is delegating for.
    @property
    def validators(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]: ...
    def __init__(self,
        *,
        validators : typing.Optional[typing.Iterable[typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"validators",b"validators"]) -> None: ...
global___QueryDelegatorValidatorsResponse = QueryDelegatorValidatorsResponse

# QueryDelegatorWithdrawAddressRequest is the request type for the
# Query/DelegatorWithdrawAddress RPC method.
class QueryDelegatorWithdrawAddressRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    # delegator_address defines the delegator address to query for.
    delegator_address: typing.Text = ...
    def __init__(self,
        *,
        delegator_address : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"delegator_address",b"delegator_address"]) -> None: ...
global___QueryDelegatorWithdrawAddressRequest = QueryDelegatorWithdrawAddressRequest

# QueryDelegatorWithdrawAddressResponse is the response type for the
# Query/DelegatorWithdrawAddress RPC method.
class QueryDelegatorWithdrawAddressResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    WITHDRAW_ADDRESS_FIELD_NUMBER: builtins.int
    # withdraw_address defines the delegator address to query for.
    withdraw_address: typing.Text = ...
    def __init__(self,
        *,
        withdraw_address : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"withdraw_address",b"withdraw_address"]) -> None: ...
global___QueryDelegatorWithdrawAddressResponse = QueryDelegatorWithdrawAddressResponse

# QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC
# method.
class QueryCommunityPoolRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    def __init__(self,
        ) -> None: ...
global___QueryCommunityPoolRequest = QueryCommunityPoolRequest

# QueryCommunityPoolResponse is the response type for the Query/CommunityPool
# RPC method.
class QueryCommunityPoolResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    POOL_FIELD_NUMBER: builtins.int
    # pool defines community pool's coins.
    @property
    def pool(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.DecCoin]: ...
    def __init__(self,
        *,
        pool : typing.Optional[typing.Iterable[cosmos.base.v1beta1.coin_pb2.DecCoin]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"pool",b"pool"]) -> None: ...
global___QueryCommunityPoolResponse = QueryCommunityPoolResponse
