"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import cosmos.base.query.v1beta1.pagination_pb2
import cosmos.gov.v1beta1.gov_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 QueryProposalRequest(google.protobuf.message.Message):
    """QueryProposalRequest is the request type for the Query/Proposal RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal_id defines the unique id of the proposal."""

    def __init__(self,
        *,
        proposal_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["proposal_id",b"proposal_id"]) -> None: ...
global___QueryProposalRequest = QueryProposalRequest

class QueryProposalResponse(google.protobuf.message.Message):
    """QueryProposalResponse is the response type for the Query/Proposal RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROPOSAL_FIELD_NUMBER: builtins.int
    @property
    def proposal(self) -> cosmos.gov.v1beta1.gov_pb2.Proposal: ...
    def __init__(self,
        *,
        proposal: typing.Optional[cosmos.gov.v1beta1.gov_pb2.Proposal] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["proposal",b"proposal"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["proposal",b"proposal"]) -> None: ...
global___QueryProposalResponse = QueryProposalResponse

class QueryProposalsRequest(google.protobuf.message.Message):
    """QueryProposalsRequest is the request type for the Query/Proposals RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROPOSAL_STATUS_FIELD_NUMBER: builtins.int
    VOTER_FIELD_NUMBER: builtins.int
    DEPOSITOR_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    proposal_status: cosmos.gov.v1beta1.gov_pb2.ProposalStatus.ValueType
    """proposal_status defines the status of the proposals."""

    voter: typing.Text
    """voter defines the voter address for the proposals."""

    depositor: typing.Text
    """depositor defines the deposit addresses from the proposals."""

    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
        pass
    def __init__(self,
        *,
        proposal_status: cosmos.gov.v1beta1.gov_pb2.ProposalStatus.ValueType = ...,
        voter: typing.Text = ...,
        depositor: typing.Text = ...,
        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["depositor",b"depositor","pagination",b"pagination","proposal_status",b"proposal_status","voter",b"voter"]) -> None: ...
global___QueryProposalsRequest = QueryProposalsRequest

class QueryProposalsResponse(google.protobuf.message.Message):
    """QueryProposalsResponse is the response type for the Query/Proposals RPC
    method.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROPOSALS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def proposals(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.gov.v1beta1.gov_pb2.Proposal]: ...
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
        pass
    def __init__(self,
        *,
        proposals: typing.Optional[typing.Iterable[cosmos.gov.v1beta1.gov_pb2.Proposal]] = ...,
        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","proposals",b"proposals"]) -> None: ...
global___QueryProposalsResponse = QueryProposalsResponse

class QueryVoteRequest(google.protobuf.message.Message):
    """QueryVoteRequest is the request type for the Query/Vote RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    VOTER_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal_id defines the unique id of the proposal."""

    voter: typing.Text
    """voter defines the oter address for the proposals."""

    def __init__(self,
        *,
        proposal_id: builtins.int = ...,
        voter: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["proposal_id",b"proposal_id","voter",b"voter"]) -> None: ...
global___QueryVoteRequest = QueryVoteRequest

class QueryVoteResponse(google.protobuf.message.Message):
    """QueryVoteResponse is the response type for the Query/Vote RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VOTE_FIELD_NUMBER: builtins.int
    @property
    def vote(self) -> cosmos.gov.v1beta1.gov_pb2.Vote:
        """vote defined the queried vote."""
        pass
    def __init__(self,
        *,
        vote: typing.Optional[cosmos.gov.v1beta1.gov_pb2.Vote] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["vote",b"vote"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["vote",b"vote"]) -> None: ...
global___QueryVoteResponse = QueryVoteResponse

class QueryVotesRequest(google.protobuf.message.Message):
    """QueryVotesRequest is the request type for the Query/Votes RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal_id defines the unique id of the proposal."""

    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
        pass
    def __init__(self,
        *,
        proposal_id: 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["pagination",b"pagination","proposal_id",b"proposal_id"]) -> None: ...
global___QueryVotesRequest = QueryVotesRequest

class QueryVotesResponse(google.protobuf.message.Message):
    """QueryVotesResponse is the response type for the Query/Votes RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VOTES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def votes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.gov.v1beta1.gov_pb2.Vote]:
        """votes defined the queried votes."""
        pass
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
        pass
    def __init__(self,
        *,
        votes: typing.Optional[typing.Iterable[cosmos.gov.v1beta1.gov_pb2.Vote]] = ...,
        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","votes",b"votes"]) -> None: ...
global___QueryVotesResponse = QueryVotesResponse

class QueryParamsRequest(google.protobuf.message.Message):
    """QueryParamsRequest is the request type for the Query/Params RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PARAMS_TYPE_FIELD_NUMBER: builtins.int
    params_type: typing.Text
    """params_type defines which parameters to query for, can be one of "voting",
    "tallying" or "deposit".
    """

    def __init__(self,
        *,
        params_type: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["params_type",b"params_type"]) -> 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
    VOTING_PARAMS_FIELD_NUMBER: builtins.int
    DEPOSIT_PARAMS_FIELD_NUMBER: builtins.int
    TALLY_PARAMS_FIELD_NUMBER: builtins.int
    @property
    def voting_params(self) -> cosmos.gov.v1beta1.gov_pb2.VotingParams:
        """voting_params defines the parameters related to voting."""
        pass
    @property
    def deposit_params(self) -> cosmos.gov.v1beta1.gov_pb2.DepositParams:
        """deposit_params defines the parameters related to deposit."""
        pass
    @property
    def tally_params(self) -> cosmos.gov.v1beta1.gov_pb2.TallyParams:
        """tally_params defines the parameters related to tally."""
        pass
    def __init__(self,
        *,
        voting_params: typing.Optional[cosmos.gov.v1beta1.gov_pb2.VotingParams] = ...,
        deposit_params: typing.Optional[cosmos.gov.v1beta1.gov_pb2.DepositParams] = ...,
        tally_params: typing.Optional[cosmos.gov.v1beta1.gov_pb2.TallyParams] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["deposit_params",b"deposit_params","tally_params",b"tally_params","voting_params",b"voting_params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["deposit_params",b"deposit_params","tally_params",b"tally_params","voting_params",b"voting_params"]) -> None: ...
global___QueryParamsResponse = QueryParamsResponse

class QueryDepositRequest(google.protobuf.message.Message):
    """QueryDepositRequest is the request type for the Query/Deposit RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    DEPOSITOR_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal_id defines the unique id of the proposal."""

    depositor: typing.Text
    """depositor defines the deposit addresses from the proposals."""

    def __init__(self,
        *,
        proposal_id: builtins.int = ...,
        depositor: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["depositor",b"depositor","proposal_id",b"proposal_id"]) -> None: ...
global___QueryDepositRequest = QueryDepositRequest

class QueryDepositResponse(google.protobuf.message.Message):
    """QueryDepositResponse is the response type for the Query/Deposit RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    DEPOSIT_FIELD_NUMBER: builtins.int
    @property
    def deposit(self) -> cosmos.gov.v1beta1.gov_pb2.Deposit:
        """deposit defines the requested deposit."""
        pass
    def __init__(self,
        *,
        deposit: typing.Optional[cosmos.gov.v1beta1.gov_pb2.Deposit] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["deposit",b"deposit"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["deposit",b"deposit"]) -> None: ...
global___QueryDepositResponse = QueryDepositResponse

class QueryDepositsRequest(google.protobuf.message.Message):
    """QueryDepositsRequest is the request type for the Query/Deposits RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal_id defines the unique id of the proposal."""

    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
        pass
    def __init__(self,
        *,
        proposal_id: 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["pagination",b"pagination","proposal_id",b"proposal_id"]) -> None: ...
global___QueryDepositsRequest = QueryDepositsRequest

class QueryDepositsResponse(google.protobuf.message.Message):
    """QueryDepositsResponse is the response type for the Query/Deposits RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    DEPOSITS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def deposits(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.gov.v1beta1.gov_pb2.Deposit]: ...
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
        pass
    def __init__(self,
        *,
        deposits: typing.Optional[typing.Iterable[cosmos.gov.v1beta1.gov_pb2.Deposit]] = ...,
        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["deposits",b"deposits","pagination",b"pagination"]) -> None: ...
global___QueryDepositsResponse = QueryDepositsResponse

class QueryTallyResultRequest(google.protobuf.message.Message):
    """QueryTallyResultRequest is the request type for the Query/Tally RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal_id defines the unique id of the proposal."""

    def __init__(self,
        *,
        proposal_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["proposal_id",b"proposal_id"]) -> None: ...
global___QueryTallyResultRequest = QueryTallyResultRequest

class QueryTallyResultResponse(google.protobuf.message.Message):
    """QueryTallyResultResponse is the response type for the Query/Tally RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TALLY_FIELD_NUMBER: builtins.int
    @property
    def tally(self) -> cosmos.gov.v1beta1.gov_pb2.TallyResult:
        """tally defines the requested tally."""
        pass
    def __init__(self,
        *,
        tally: typing.Optional[cosmos.gov.v1beta1.gov_pb2.TallyResult] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["tally",b"tally"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["tally",b"tally"]) -> None: ...
global___QueryTallyResultResponse = QueryTallyResultResponse
