"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Since: cosmos-sdk 0.46"""
import builtins
import collections.abc
import cosmos.group.v1.types_pb2
import google.protobuf.any_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _Exec:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ExecEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Exec.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    EXEC_UNSPECIFIED: _Exec.ValueType  # 0
    """An empty value means that there should be a separate
    MsgExec request for the proposal to execute.
    """
    EXEC_TRY: _Exec.ValueType  # 1
    """Try to execute the proposal immediately.
    If the proposal is not allowed per the DecisionPolicy,
    the proposal will still be open and could
    be executed at a later point.
    """

class Exec(_Exec, metaclass=_ExecEnumTypeWrapper):
    """
    Proposals and Voting

    Exec defines modes of execution of a proposal on creation or on new vote.
    """

EXEC_UNSPECIFIED: Exec.ValueType  # 0
"""An empty value means that there should be a separate
MsgExec request for the proposal to execute.
"""
EXEC_TRY: Exec.ValueType  # 1
"""Try to execute the proposal immediately.
If the proposal is not allowed per the DecisionPolicy,
the proposal will still be open and could
be executed at a later point.
"""
global___Exec = Exec

@typing_extensions.final
class MsgCreateGroup(google.protobuf.message.Message):
    """
    Groups

    MsgCreateGroup is the Msg/CreateGroup request type.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADMIN_FIELD_NUMBER: builtins.int
    MEMBERS_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    admin: builtins.str
    """admin is the account address of the group admin."""
    @property
    def members(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.group.v1.types_pb2.MemberRequest]:
        """members defines the group members."""
    metadata: builtins.str
    """metadata is any arbitrary metadata to attached to the group."""
    def __init__(
        self,
        *,
        admin: builtins.str = ...,
        members: collections.abc.Iterable[cosmos.group.v1.types_pb2.MemberRequest] | None = ...,
        metadata: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin", b"admin", "members", b"members", "metadata", b"metadata"]) -> None: ...

global___MsgCreateGroup = MsgCreateGroup

@typing_extensions.final
class MsgCreateGroupResponse(google.protobuf.message.Message):
    """MsgCreateGroupResponse is the Msg/CreateGroup response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GROUP_ID_FIELD_NUMBER: builtins.int
    group_id: builtins.int
    """group_id is the unique ID of the newly created group."""
    def __init__(
        self,
        *,
        group_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["group_id", b"group_id"]) -> None: ...

global___MsgCreateGroupResponse = MsgCreateGroupResponse

@typing_extensions.final
class MsgUpdateGroupMembers(google.protobuf.message.Message):
    """MsgUpdateGroupMembers is the Msg/UpdateGroupMembers request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADMIN_FIELD_NUMBER: builtins.int
    GROUP_ID_FIELD_NUMBER: builtins.int
    MEMBER_UPDATES_FIELD_NUMBER: builtins.int
    admin: builtins.str
    """admin is the account address of the group admin."""
    group_id: builtins.int
    """group_id is the unique ID of the group."""
    @property
    def member_updates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.group.v1.types_pb2.MemberRequest]:
        """member_updates is the list of members to update,
        set weight to 0 to remove a member.
        """
    def __init__(
        self,
        *,
        admin: builtins.str = ...,
        group_id: builtins.int = ...,
        member_updates: collections.abc.Iterable[cosmos.group.v1.types_pb2.MemberRequest] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin", b"admin", "group_id", b"group_id", "member_updates", b"member_updates"]) -> None: ...

global___MsgUpdateGroupMembers = MsgUpdateGroupMembers

@typing_extensions.final
class MsgUpdateGroupMembersResponse(google.protobuf.message.Message):
    """MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgUpdateGroupMembersResponse = MsgUpdateGroupMembersResponse

@typing_extensions.final
class MsgUpdateGroupAdmin(google.protobuf.message.Message):
    """MsgUpdateGroupAdmin is the Msg/UpdateGroupAdmin request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADMIN_FIELD_NUMBER: builtins.int
    GROUP_ID_FIELD_NUMBER: builtins.int
    NEW_ADMIN_FIELD_NUMBER: builtins.int
    admin: builtins.str
    """admin is the current account address of the group admin."""
    group_id: builtins.int
    """group_id is the unique ID of the group."""
    new_admin: builtins.str
    """new_admin is the group new admin account address."""
    def __init__(
        self,
        *,
        admin: builtins.str = ...,
        group_id: builtins.int = ...,
        new_admin: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin", b"admin", "group_id", b"group_id", "new_admin", b"new_admin"]) -> None: ...

global___MsgUpdateGroupAdmin = MsgUpdateGroupAdmin

@typing_extensions.final
class MsgUpdateGroupAdminResponse(google.protobuf.message.Message):
    """MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgUpdateGroupAdminResponse = MsgUpdateGroupAdminResponse

@typing_extensions.final
class MsgUpdateGroupMetadata(google.protobuf.message.Message):
    """MsgUpdateGroupMetadata is the Msg/UpdateGroupMetadata request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADMIN_FIELD_NUMBER: builtins.int
    GROUP_ID_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    admin: builtins.str
    """admin is the account address of the group admin."""
    group_id: builtins.int
    """group_id is the unique ID of the group."""
    metadata: builtins.str
    """metadata is the updated group's metadata."""
    def __init__(
        self,
        *,
        admin: builtins.str = ...,
        group_id: builtins.int = ...,
        metadata: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin", b"admin", "group_id", b"group_id", "metadata", b"metadata"]) -> None: ...

global___MsgUpdateGroupMetadata = MsgUpdateGroupMetadata

@typing_extensions.final
class MsgUpdateGroupMetadataResponse(google.protobuf.message.Message):
    """MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgUpdateGroupMetadataResponse = MsgUpdateGroupMetadataResponse

@typing_extensions.final
class MsgCreateGroupPolicy(google.protobuf.message.Message):
    """
    Group Policies

    MsgCreateGroupPolicy is the Msg/CreateGroupPolicy request type.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADMIN_FIELD_NUMBER: builtins.int
    GROUP_ID_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    DECISION_POLICY_FIELD_NUMBER: builtins.int
    admin: builtins.str
    """admin is the account address of the group admin."""
    group_id: builtins.int
    """group_id is the unique ID of the group."""
    metadata: builtins.str
    """metadata is any arbitrary metadata attached to the group policy."""
    @property
    def decision_policy(self) -> google.protobuf.any_pb2.Any:
        """decision_policy specifies the group policy's decision policy."""
    def __init__(
        self,
        *,
        admin: builtins.str = ...,
        group_id: builtins.int = ...,
        metadata: builtins.str = ...,
        decision_policy: google.protobuf.any_pb2.Any | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["decision_policy", b"decision_policy"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin", b"admin", "decision_policy", b"decision_policy", "group_id", b"group_id", "metadata", b"metadata"]) -> None: ...

global___MsgCreateGroupPolicy = MsgCreateGroupPolicy

@typing_extensions.final
class MsgCreateGroupPolicyResponse(google.protobuf.message.Message):
    """MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADDRESS_FIELD_NUMBER: builtins.int
    address: builtins.str
    """address is the account address of the newly created group policy."""
    def __init__(
        self,
        *,
        address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address", b"address"]) -> None: ...

global___MsgCreateGroupPolicyResponse = MsgCreateGroupPolicyResponse

@typing_extensions.final
class MsgUpdateGroupPolicyAdmin(google.protobuf.message.Message):
    """MsgUpdateGroupPolicyAdmin is the Msg/UpdateGroupPolicyAdmin request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADMIN_FIELD_NUMBER: builtins.int
    GROUP_POLICY_ADDRESS_FIELD_NUMBER: builtins.int
    NEW_ADMIN_FIELD_NUMBER: builtins.int
    admin: builtins.str
    """admin is the account address of the group admin."""
    group_policy_address: builtins.str
    """group_policy_address is the account address of the group policy."""
    new_admin: builtins.str
    """new_admin is the new group policy admin."""
    def __init__(
        self,
        *,
        admin: builtins.str = ...,
        group_policy_address: builtins.str = ...,
        new_admin: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin", b"admin", "group_policy_address", b"group_policy_address", "new_admin", b"new_admin"]) -> None: ...

global___MsgUpdateGroupPolicyAdmin = MsgUpdateGroupPolicyAdmin

@typing_extensions.final
class MsgUpdateGroupPolicyAdminResponse(google.protobuf.message.Message):
    """MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgUpdateGroupPolicyAdminResponse = MsgUpdateGroupPolicyAdminResponse

@typing_extensions.final
class MsgCreateGroupWithPolicy(google.protobuf.message.Message):
    """MsgCreateGroupWithPolicy is the Msg/CreateGroupWithPolicy request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADMIN_FIELD_NUMBER: builtins.int
    MEMBERS_FIELD_NUMBER: builtins.int
    GROUP_METADATA_FIELD_NUMBER: builtins.int
    GROUP_POLICY_METADATA_FIELD_NUMBER: builtins.int
    GROUP_POLICY_AS_ADMIN_FIELD_NUMBER: builtins.int
    DECISION_POLICY_FIELD_NUMBER: builtins.int
    admin: builtins.str
    """admin is the account address of the group and group policy admin."""
    @property
    def members(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.group.v1.types_pb2.MemberRequest]:
        """members defines the group members."""
    group_metadata: builtins.str
    """group_metadata is any arbitrary metadata attached to the group."""
    group_policy_metadata: builtins.str
    """group_policy_metadata is any arbitrary metadata attached to the group policy."""
    group_policy_as_admin: builtins.bool
    """group_policy_as_admin is a boolean field, if set to true, the group policy account address will be used as group
    and group policy admin.
    """
    @property
    def decision_policy(self) -> google.protobuf.any_pb2.Any:
        """decision_policy specifies the group policy's decision policy."""
    def __init__(
        self,
        *,
        admin: builtins.str = ...,
        members: collections.abc.Iterable[cosmos.group.v1.types_pb2.MemberRequest] | None = ...,
        group_metadata: builtins.str = ...,
        group_policy_metadata: builtins.str = ...,
        group_policy_as_admin: builtins.bool = ...,
        decision_policy: google.protobuf.any_pb2.Any | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["decision_policy", b"decision_policy"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin", b"admin", "decision_policy", b"decision_policy", "group_metadata", b"group_metadata", "group_policy_as_admin", b"group_policy_as_admin", "group_policy_metadata", b"group_policy_metadata", "members", b"members"]) -> None: ...

global___MsgCreateGroupWithPolicy = MsgCreateGroupWithPolicy

@typing_extensions.final
class MsgCreateGroupWithPolicyResponse(google.protobuf.message.Message):
    """MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GROUP_ID_FIELD_NUMBER: builtins.int
    GROUP_POLICY_ADDRESS_FIELD_NUMBER: builtins.int
    group_id: builtins.int
    """group_id is the unique ID of the newly created group with policy."""
    group_policy_address: builtins.str
    """group_policy_address is the account address of the newly created group policy."""
    def __init__(
        self,
        *,
        group_id: builtins.int = ...,
        group_policy_address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["group_id", b"group_id", "group_policy_address", b"group_policy_address"]) -> None: ...

global___MsgCreateGroupWithPolicyResponse = MsgCreateGroupWithPolicyResponse

@typing_extensions.final
class MsgUpdateGroupPolicyDecisionPolicy(google.protobuf.message.Message):
    """MsgUpdateGroupPolicyDecisionPolicy is the Msg/UpdateGroupPolicyDecisionPolicy request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADMIN_FIELD_NUMBER: builtins.int
    GROUP_POLICY_ADDRESS_FIELD_NUMBER: builtins.int
    DECISION_POLICY_FIELD_NUMBER: builtins.int
    admin: builtins.str
    """admin is the account address of the group admin."""
    group_policy_address: builtins.str
    """group_policy_address is the account address of group policy."""
    @property
    def decision_policy(self) -> google.protobuf.any_pb2.Any:
        """decision_policy is the updated group policy's decision policy."""
    def __init__(
        self,
        *,
        admin: builtins.str = ...,
        group_policy_address: builtins.str = ...,
        decision_policy: google.protobuf.any_pb2.Any | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["decision_policy", b"decision_policy"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin", b"admin", "decision_policy", b"decision_policy", "group_policy_address", b"group_policy_address"]) -> None: ...

global___MsgUpdateGroupPolicyDecisionPolicy = MsgUpdateGroupPolicyDecisionPolicy

@typing_extensions.final
class MsgUpdateGroupPolicyDecisionPolicyResponse(google.protobuf.message.Message):
    """MsgUpdateGroupPolicyDecisionPolicyResponse is the Msg/UpdateGroupPolicyDecisionPolicy response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgUpdateGroupPolicyDecisionPolicyResponse = MsgUpdateGroupPolicyDecisionPolicyResponse

@typing_extensions.final
class MsgUpdateGroupPolicyMetadata(google.protobuf.message.Message):
    """MsgUpdateGroupPolicyMetadata is the Msg/UpdateGroupPolicyMetadata request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADMIN_FIELD_NUMBER: builtins.int
    GROUP_POLICY_ADDRESS_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    admin: builtins.str
    """admin is the account address of the group admin."""
    group_policy_address: builtins.str
    """group_policy_address is the account address of group policy."""
    metadata: builtins.str
    """metadata is the group policy metadata to be updated."""
    def __init__(
        self,
        *,
        admin: builtins.str = ...,
        group_policy_address: builtins.str = ...,
        metadata: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin", b"admin", "group_policy_address", b"group_policy_address", "metadata", b"metadata"]) -> None: ...

global___MsgUpdateGroupPolicyMetadata = MsgUpdateGroupPolicyMetadata

@typing_extensions.final
class MsgUpdateGroupPolicyMetadataResponse(google.protobuf.message.Message):
    """MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgUpdateGroupPolicyMetadataResponse = MsgUpdateGroupPolicyMetadataResponse

@typing_extensions.final
class MsgSubmitProposal(google.protobuf.message.Message):
    """MsgSubmitProposal is the Msg/SubmitProposal request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GROUP_POLICY_ADDRESS_FIELD_NUMBER: builtins.int
    PROPOSERS_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    MESSAGES_FIELD_NUMBER: builtins.int
    EXEC_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    SUMMARY_FIELD_NUMBER: builtins.int
    group_policy_address: builtins.str
    """group_policy_address is the account address of group policy."""
    @property
    def proposers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """proposers are the account addresses of the proposers.
        Proposers signatures will be counted as yes votes.
        """
    metadata: builtins.str
    """metadata is any arbitrary metadata attached to the proposal."""
    @property
    def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.any_pb2.Any]:
        """messages is a list of `sdk.Msg`s that will be executed if the proposal passes."""
    exec: global___Exec.ValueType
    """exec defines the mode of execution of the proposal,
    whether it should be executed immediately on creation or not.
    If so, proposers signatures are considered as Yes votes.
    """
    title: builtins.str
    """title is the title of the proposal.

    Since: cosmos-sdk 0.47
    """
    summary: builtins.str
    """summary is the summary of the proposal.

    Since: cosmos-sdk 0.47
    """
    def __init__(
        self,
        *,
        group_policy_address: builtins.str = ...,
        proposers: collections.abc.Iterable[builtins.str] | None = ...,
        metadata: builtins.str = ...,
        messages: collections.abc.Iterable[google.protobuf.any_pb2.Any] | None = ...,
        exec: global___Exec.ValueType = ...,
        title: builtins.str = ...,
        summary: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["exec", b"exec", "group_policy_address", b"group_policy_address", "messages", b"messages", "metadata", b"metadata", "proposers", b"proposers", "summary", b"summary", "title", b"title"]) -> None: ...

global___MsgSubmitProposal = MsgSubmitProposal

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal is 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___MsgSubmitProposalResponse = MsgSubmitProposalResponse

@typing_extensions.final
class MsgWithdrawProposal(google.protobuf.message.Message):
    """MsgWithdrawProposal is the Msg/WithdrawProposal request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    ADDRESS_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal is the unique ID of the proposal."""
    address: builtins.str
    """address is the admin of the group policy or one of the proposer of the proposal."""
    def __init__(
        self,
        *,
        proposal_id: builtins.int = ...,
        address: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "proposal_id", b"proposal_id"]) -> None: ...

global___MsgWithdrawProposal = MsgWithdrawProposal

@typing_extensions.final
class MsgWithdrawProposalResponse(google.protobuf.message.Message):
    """MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgWithdrawProposalResponse = MsgWithdrawProposalResponse

@typing_extensions.final
class MsgVote(google.protobuf.message.Message):
    """MsgVote is the Msg/Vote request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    VOTER_FIELD_NUMBER: builtins.int
    OPTION_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    EXEC_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal is the unique ID of the proposal."""
    voter: builtins.str
    """voter is the voter account address."""
    option: cosmos.group.v1.types_pb2.VoteOption.ValueType
    """option is the voter's choice on the proposal."""
    metadata: builtins.str
    """metadata is any arbitrary metadata attached to the vote."""
    exec: global___Exec.ValueType
    """exec defines whether the proposal should be executed
    immediately after voting or not.
    """
    def __init__(
        self,
        *,
        proposal_id: builtins.int = ...,
        voter: builtins.str = ...,
        option: cosmos.group.v1.types_pb2.VoteOption.ValueType = ...,
        metadata: builtins.str = ...,
        exec: global___Exec.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["exec", b"exec", "metadata", b"metadata", "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 is the Msg/Vote response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgVoteResponse = MsgVoteResponse

@typing_extensions.final
class MsgExec(google.protobuf.message.Message):
    """MsgExec is the Msg/Exec request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROPOSAL_ID_FIELD_NUMBER: builtins.int
    EXECUTOR_FIELD_NUMBER: builtins.int
    proposal_id: builtins.int
    """proposal is the unique ID of the proposal."""
    executor: builtins.str
    """executor is the account address used to execute the proposal."""
    def __init__(
        self,
        *,
        proposal_id: builtins.int = ...,
        executor: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["executor", b"executor", "proposal_id", b"proposal_id"]) -> None: ...

global___MsgExec = MsgExec

@typing_extensions.final
class MsgExecResponse(google.protobuf.message.Message):
    """MsgExecResponse is the Msg/Exec request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESULT_FIELD_NUMBER: builtins.int
    result: cosmos.group.v1.types_pb2.ProposalExecutorResult.ValueType
    """result is the final result of the proposal execution."""
    def __init__(
        self,
        *,
        result: cosmos.group.v1.types_pb2.ProposalExecutorResult.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["result", b"result"]) -> None: ...

global___MsgExecResponse = MsgExecResponse

@typing_extensions.final
class MsgLeaveGroup(google.protobuf.message.Message):
    """MsgLeaveGroup is the Msg/LeaveGroup request type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADDRESS_FIELD_NUMBER: builtins.int
    GROUP_ID_FIELD_NUMBER: builtins.int
    address: builtins.str
    """address is the account address of the group member."""
    group_id: builtins.int
    """group_id is the unique ID of the group."""
    def __init__(
        self,
        *,
        address: builtins.str = ...,
        group_id: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "group_id", b"group_id"]) -> None: ...

global___MsgLeaveGroup = MsgLeaveGroup

@typing_extensions.final
class MsgLeaveGroupResponse(google.protobuf.message.Message):
    """MsgLeaveGroupResponse is the Msg/LeaveGroup response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgLeaveGroupResponse = MsgLeaveGroupResponse
