"""
@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.staking.v1beta1.staking_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 QueryValidatorsRequest(google.protobuf.message.Message):
    """QueryValidatorsRequest is request type for Query/Validators RPC method."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATUS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    status: builtins.str
    """status enables to query for validators matching a given status."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        status: builtins.str = ...,
        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["pagination", b"pagination", "status", b"status"]) -> None: ...

global___QueryValidatorsRequest = QueryValidatorsRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATORS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def validators(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.staking.v1beta1.staking_pb2.Validator]:
        """validators contains all the queried validators."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        validators: collections.abc.Iterable[cosmos.staking.v1beta1.staking_pb2.Validator] | 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", "validators", b"validators"]) -> None: ...

global___QueryValidatorsResponse = QueryValidatorsResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___QueryValidatorRequest = QueryValidatorRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_FIELD_NUMBER: builtins.int
    @property
    def validator(self) -> cosmos.staking.v1beta1.staking_pb2.Validator:
        """validator defines the the validator info."""
    def __init__(
        self,
        *,
        validator: cosmos.staking.v1beta1.staking_pb2.Validator | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["validator", b"validator"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["validator", b"validator"]) -> None: ...

global___QueryValidatorResponse = QueryValidatorResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_ADDR_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    validator_addr: builtins.str
    """validator_addr defines the validator address to query for."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        validator_addr: builtins.str = ...,
        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["pagination", b"pagination", "validator_addr", b"validator_addr"]) -> None: ...

global___QueryValidatorDelegationsRequest = QueryValidatorDelegationsRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATION_RESPONSES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def delegation_responses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.staking.v1beta1.staking_pb2.DelegationResponse]: ...
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        delegation_responses: collections.abc.Iterable[cosmos.staking.v1beta1.staking_pb2.DelegationResponse] | 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["delegation_responses", b"delegation_responses", "pagination", b"pagination"]) -> None: ...

global___QueryValidatorDelegationsResponse = QueryValidatorDelegationsResponse

@typing_extensions.final
class QueryValidatorUnbondingDelegationsRequest(google.protobuf.message.Message):
    """QueryValidatorUnbondingDelegationsRequest is required type for the
    Query/ValidatorUnbondingDelegations RPC method
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_ADDR_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    validator_addr: builtins.str
    """validator_addr defines the validator address to query for."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        validator_addr: builtins.str = ...,
        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["pagination", b"pagination", "validator_addr", b"validator_addr"]) -> None: ...

global___QueryValidatorUnbondingDelegationsRequest = QueryValidatorUnbondingDelegationsRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UNBONDING_RESPONSES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def unbonding_responses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.staking.v1beta1.staking_pb2.UnbondingDelegation]: ...
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        unbonding_responses: collections.abc.Iterable[cosmos.staking.v1beta1.staking_pb2.UnbondingDelegation] | 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", "unbonding_responses", b"unbonding_responses"]) -> None: ...

global___QueryValidatorUnbondingDelegationsResponse = QueryValidatorUnbondingDelegationsResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___QueryDelegationRequest = QueryDelegationRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATION_RESPONSE_FIELD_NUMBER: builtins.int
    @property
    def delegation_response(self) -> cosmos.staking.v1beta1.staking_pb2.DelegationResponse:
        """delegation_responses defines the delegation info of a delegation."""
    def __init__(
        self,
        *,
        delegation_response: cosmos.staking.v1beta1.staking_pb2.DelegationResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["delegation_response", b"delegation_response"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["delegation_response", b"delegation_response"]) -> None: ...

global___QueryDelegationResponse = QueryDelegationResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___QueryUnbondingDelegationRequest = QueryUnbondingDelegationRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UNBOND_FIELD_NUMBER: builtins.int
    @property
    def unbond(self) -> cosmos.staking.v1beta1.staking_pb2.UnbondingDelegation:
        """unbond defines the unbonding information of a delegation."""
    def __init__(
        self,
        *,
        unbond: cosmos.staking.v1beta1.staking_pb2.UnbondingDelegation | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["unbond", b"unbond"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["unbond", b"unbond"]) -> None: ...

global___QueryUnbondingDelegationResponse = QueryUnbondingDelegationResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATOR_ADDR_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    delegator_addr: builtins.str
    """delegator_addr defines the delegator address to query for."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        delegator_addr: builtins.str = ...,
        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["delegator_addr", b"delegator_addr", "pagination", b"pagination"]) -> None: ...

global___QueryDelegatorDelegationsRequest = QueryDelegatorDelegationsRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATION_RESPONSES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def delegation_responses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.staking.v1beta1.staking_pb2.DelegationResponse]:
        """delegation_responses defines all the delegations' info of a delegator."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        delegation_responses: collections.abc.Iterable[cosmos.staking.v1beta1.staking_pb2.DelegationResponse] | 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["delegation_responses", b"delegation_responses", "pagination", b"pagination"]) -> None: ...

global___QueryDelegatorDelegationsResponse = QueryDelegatorDelegationsResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATOR_ADDR_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    delegator_addr: builtins.str
    """delegator_addr defines the delegator address to query for."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        delegator_addr: builtins.str = ...,
        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["delegator_addr", b"delegator_addr", "pagination", b"pagination"]) -> None: ...

global___QueryDelegatorUnbondingDelegationsRequest = QueryDelegatorUnbondingDelegationsRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UNBONDING_RESPONSES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def unbonding_responses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.staking.v1beta1.staking_pb2.UnbondingDelegation]: ...
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        unbonding_responses: collections.abc.Iterable[cosmos.staking.v1beta1.staking_pb2.UnbondingDelegation] | 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", "unbonding_responses", b"unbonding_responses"]) -> None: ...

global___QueryDelegatorUnbondingDelegationsResponse = QueryDelegatorUnbondingDelegationsResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATOR_ADDR_FIELD_NUMBER: builtins.int
    SRC_VALIDATOR_ADDR_FIELD_NUMBER: builtins.int
    DST_VALIDATOR_ADDR_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    delegator_addr: builtins.str
    """delegator_addr defines the delegator address to query for."""
    src_validator_addr: builtins.str
    """src_validator_addr defines the validator address to redelegate from."""
    dst_validator_addr: builtins.str
    """dst_validator_addr defines the validator address to redelegate to."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        delegator_addr: builtins.str = ...,
        src_validator_addr: builtins.str = ...,
        dst_validator_addr: builtins.str = ...,
        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["delegator_addr", b"delegator_addr", "dst_validator_addr", b"dst_validator_addr", "pagination", b"pagination", "src_validator_addr", b"src_validator_addr"]) -> None: ...

global___QueryRedelegationsRequest = QueryRedelegationsRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REDELEGATION_RESPONSES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def redelegation_responses(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.staking.v1beta1.staking_pb2.RedelegationResponse]: ...
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        redelegation_responses: collections.abc.Iterable[cosmos.staking.v1beta1.staking_pb2.RedelegationResponse] | 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", "redelegation_responses", b"redelegation_responses"]) -> None: ...

global___QueryRedelegationsResponse = QueryRedelegationsResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DELEGATOR_ADDR_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    delegator_addr: builtins.str
    """delegator_addr defines the delegator address to query for."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        delegator_addr: builtins.str = ...,
        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["delegator_addr", b"delegator_addr", "pagination", b"pagination"]) -> None: ...

global___QueryDelegatorValidatorsRequest = QueryDelegatorValidatorsRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATORS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def validators(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.staking.v1beta1.staking_pb2.Validator]:
        """validators defines the the validators' info of a delegator."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        validators: collections.abc.Iterable[cosmos.staking.v1beta1.staking_pb2.Validator] | 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", "validators", b"validators"]) -> None: ...

global___QueryDelegatorValidatorsResponse = QueryDelegatorValidatorsResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___QueryDelegatorValidatorRequest = QueryDelegatorValidatorRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_FIELD_NUMBER: builtins.int
    @property
    def validator(self) -> cosmos.staking.v1beta1.staking_pb2.Validator:
        """validator defines the the validator info."""
    def __init__(
        self,
        *,
        validator: cosmos.staking.v1beta1.staking_pb2.Validator | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["validator", b"validator"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["validator", b"validator"]) -> None: ...

global___QueryDelegatorValidatorResponse = QueryDelegatorValidatorResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HEIGHT_FIELD_NUMBER: builtins.int
    height: builtins.int
    """height defines at which height to query the historical info."""
    def __init__(
        self,
        *,
        height: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["height", b"height"]) -> None: ...

global___QueryHistoricalInfoRequest = QueryHistoricalInfoRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HIST_FIELD_NUMBER: builtins.int
    @property
    def hist(self) -> cosmos.staking.v1beta1.staking_pb2.HistoricalInfo:
        """hist defines the historical info at the given height."""
    def __init__(
        self,
        *,
        hist: cosmos.staking.v1beta1.staking_pb2.HistoricalInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["hist", b"hist"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["hist", b"hist"]) -> None: ...

global___QueryHistoricalInfoResponse = QueryHistoricalInfoResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___QueryPoolRequest = QueryPoolRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    POOL_FIELD_NUMBER: builtins.int
    @property
    def pool(self) -> cosmos.staking.v1beta1.staking_pb2.Pool:
        """pool defines the pool info."""
    def __init__(
        self,
        *,
        pool: cosmos.staking.v1beta1.staking_pb2.Pool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pool", b"pool"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pool", b"pool"]) -> None: ...

global___QueryPoolResponse = QueryPoolResponse

@typing_extensions.final
class QueryParamsRequest(google.protobuf.message.Message):
    """QueryParamsRequest is 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 response type for the Query/Params RPC method."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PARAMS_FIELD_NUMBER: builtins.int
    @property
    def params(self) -> cosmos.staking.v1beta1.staking_pb2.Params:
        """params holds all the parameters of this module."""
    def __init__(
        self,
        *,
        params: cosmos.staking.v1beta1.staking_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
