"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.useLeaveGroup = exports.useExec = exports.useVote = exports.useWithdrawProposal = exports.useSubmitProposal = exports.useUpdateGroupPolicyMetadata = exports.useUpdateGroupPolicyDecisionPolicy = exports.useUpdateGroupPolicyAdmin = exports.useCreateGroupWithPolicy = exports.useCreateGroupPolicy = exports.useUpdateGroupMetadata = exports.useUpdateGroupAdmin = exports.useUpdateGroupMembers = exports.useCreateGroup = void 0;
const vue_query_1 = require("../../../vue-query");
const tx_rpc_func_1 = require("./tx.rpc.func");
/**
 * CreateGroup creates a new group with an admin account address, a list of members and some optional metadata.
 * @name useCreateGroup
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.CreateGroup
 */
exports.useCreateGroup = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.createGroup
});
/**
 * UpdateGroupMembers updates the group members with given group id and admin address.
 * @name useUpdateGroupMembers
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.UpdateGroupMembers
 */
exports.useUpdateGroupMembers = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.updateGroupMembers
});
/**
 * UpdateGroupAdmin updates the group admin with given group id and previous admin address.
 * @name useUpdateGroupAdmin
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.UpdateGroupAdmin
 */
exports.useUpdateGroupAdmin = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.updateGroupAdmin
});
/**
 * UpdateGroupMetadata updates the group metadata with given group id and admin address.
 * @name useUpdateGroupMetadata
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.UpdateGroupMetadata
 */
exports.useUpdateGroupMetadata = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.updateGroupMetadata
});
/**
 * CreateGroupPolicy creates a new group policy using given DecisionPolicy.
 * @name useCreateGroupPolicy
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.CreateGroupPolicy
 */
exports.useCreateGroupPolicy = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.createGroupPolicy
});
/**
 * CreateGroupWithPolicy creates a new group with policy.
 * @name useCreateGroupWithPolicy
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.CreateGroupWithPolicy
 */
exports.useCreateGroupWithPolicy = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.createGroupWithPolicy
});
/**
 * UpdateGroupPolicyAdmin updates a group policy admin.
 * @name useUpdateGroupPolicyAdmin
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.UpdateGroupPolicyAdmin
 */
exports.useUpdateGroupPolicyAdmin = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.updateGroupPolicyAdmin
});
/**
 * UpdateGroupPolicyDecisionPolicy allows a group policy's decision policy to be updated.
 * @name useUpdateGroupPolicyDecisionPolicy
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.UpdateGroupPolicyDecisionPolicy
 */
exports.useUpdateGroupPolicyDecisionPolicy = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.updateGroupPolicyDecisionPolicy
});
/**
 * UpdateGroupPolicyMetadata updates a group policy metadata.
 * @name useUpdateGroupPolicyMetadata
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.UpdateGroupPolicyMetadata
 */
exports.useUpdateGroupPolicyMetadata = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.updateGroupPolicyMetadata
});
/**
 * SubmitProposal submits a new proposal.
 * @name useSubmitProposal
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.SubmitProposal
 */
exports.useSubmitProposal = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.submitProposal
});
/**
 * WithdrawProposal withdraws a proposal.
 * @name useWithdrawProposal
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.WithdrawProposal
 */
exports.useWithdrawProposal = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.withdrawProposal
});
/**
 * Vote allows a voter to vote on a proposal.
 * @name useVote
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.Vote
 */
exports.useVote = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.vote
});
/**
 * Exec executes a proposal.
 * @name useExec
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.Exec
 */
exports.useExec = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.exec
});
/**
 * LeaveGroup allows a group member to leave the group.
 * @name useLeaveGroup
 * @package cosmos.group.v1
 * @see proto service: cosmos.group.v1.LeaveGroup
 */
exports.useLeaveGroup = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.leaveGroup
});
