"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import cosmos.base.v1beta1.coin_pb2
import cosmos.gov.v1beta1.gov_pb2
import google.protobuf.any_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 MsgSubmitProposal(google.protobuf.message.Message):
    """MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary
    proposal Content.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONTENT_FIELD_NUMBER: builtins.int
    INITIAL_DEPOSIT_FIELD_NUMBER: builtins.int
    PROPOSER_FIELD_NUMBER: builtins.int
    IS_EXPEDITED_FIELD_NUMBER: builtins.int
    @property
    def content(self) -> google.protobuf.any_pb2.Any: ...
    @property
    def initial_deposit(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    proposer: builtins.str
    is_expedited: builtins.bool
    def __init__(
        self,
        *,
        content: google.protobuf.any_pb2.Any | None = ...,
        initial_deposit: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.Coin] | None = ...,
        proposer: builtins.str = ...,
        is_expedited: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["content", b"content"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["content", b"content", "initial_deposit", b"initial_deposit", "is_expedited", b"is_expedited", "proposer", b"proposer"]) -> None: ...

global___MsgSubmitProposal = MsgSubmitProposal

@typing_extensions.final
class MsgSubmitProposalResponse(google.protobuf.message.Message):
    """MsgSubmitProposalResponse defines the Msg/SubmitProposal response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgSubmitProposalResponse = MsgSubmitProposalResponse

@typing_extensions.final
class MsgVote(google.protobuf.message.Message):
    """MsgVote defines a message to cast a vote."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    VOTER_FIELD_NUMBER: builtins.int
    OPTION_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    voter: builtins.str
    option: cosmos.gov.v1beta1.gov_pb2.VoteOption.ValueType
    def __init__(
        self,
        *,
        proposal_id: builtins.int = ...,
        voter: builtins.str = ...,
        option: cosmos.gov.v1beta1.gov_pb2.VoteOption.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["option", b"option", "proposal_id", b"proposal_id", "voter", b"voter"]) -> None: ...

global___MsgVote = MsgVote

@typing_extensions.final
class MsgVoteResponse(google.protobuf.message.Message):
    """MsgVoteResponse defines the Msg/Vote response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgVoteResponse = MsgVoteResponse

@typing_extensions.final
class MsgVoteWeighted(google.protobuf.message.Message):
    """MsgVoteWeighted defines a message to cast a vote.

    Since: cosmos-sdk 0.43
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    VOTER_FIELD_NUMBER: builtins.int
    OPTIONS_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    voter: builtins.str
    @property
    def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.gov.v1beta1.gov_pb2.WeightedVoteOption]: ...
    def __init__(
        self,
        *,
        proposal_id: builtins.int = ...,
        voter: builtins.str = ...,
        options: collections.abc.Iterable[cosmos.gov.v1beta1.gov_pb2.WeightedVoteOption] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["options", b"options", "proposal_id", b"proposal_id", "voter", b"voter"]) -> None: ...

global___MsgVoteWeighted = MsgVoteWeighted

@typing_extensions.final
class MsgVoteWeightedResponse(google.protobuf.message.Message):
    """MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.

    Since: cosmos-sdk 0.43
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgVoteWeightedResponse = MsgVoteWeightedResponse

@typing_extensions.final
class MsgDeposit(google.protobuf.message.Message):
    """MsgDeposit defines a message to submit a deposit to an existing proposal."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    DEPOSITOR_FIELD_NUMBER: builtins.int
    AMOUNT_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    depositor: builtins.str
    @property
    def amount(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    def __init__(
        self,
        *,
        proposal_id: builtins.int = ...,
        depositor: builtins.str = ...,
        amount: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.Coin] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["amount", b"amount", "depositor", b"depositor", "proposal_id", b"proposal_id"]) -> None: ...

global___MsgDeposit = MsgDeposit

@typing_extensions.final
class MsgDepositResponse(google.protobuf.message.Message):
    """MsgDepositResponse defines the Msg/Deposit response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgDepositResponse = MsgDepositResponse
