import { buildQuery } from "../../../helper-func-types";
import { QueryGroupInfoRequest, QueryGroupInfoResponse, QueryGroupPolicyInfoRequest, QueryGroupPolicyInfoResponse, QueryGroupMembersRequest, QueryGroupMembersResponse, QueryGroupsByAdminRequest, QueryGroupsByAdminResponse, QueryGroupPoliciesByGroupRequest, QueryGroupPoliciesByGroupResponse, QueryGroupPoliciesByAdminRequest, QueryGroupPoliciesByAdminResponse, QueryProposalRequest, QueryProposalResponse, QueryProposalsByGroupPolicyRequest, QueryProposalsByGroupPolicyResponse, QueryVoteByProposalVoterRequest, QueryVoteByProposalVoterResponse, QueryVotesByProposalRequest, QueryVotesByProposalResponse, QueryVotesByVoterRequest, QueryVotesByVoterResponse, QueryGroupsByMemberRequest, QueryGroupsByMemberResponse, QueryTallyResultRequest, QueryTallyResultResponse, QueryGroupsRequest, QueryGroupsResponse } from "./query";
export const createGetGroupInfo = (clientResolver) => buildQuery({
    encode: QueryGroupInfoRequest.encode,
    decode: QueryGroupInfoResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "GroupInfo",
    clientResolver
});
export const createGetGroupPolicyInfo = (clientResolver) => buildQuery({
    encode: QueryGroupPolicyInfoRequest.encode,
    decode: QueryGroupPolicyInfoResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "GroupPolicyInfo",
    clientResolver
});
export const createGetGroupMembers = (clientResolver) => buildQuery({
    encode: QueryGroupMembersRequest.encode,
    decode: QueryGroupMembersResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "GroupMembers",
    clientResolver
});
export const createGetGroupsByAdmin = (clientResolver) => buildQuery({
    encode: QueryGroupsByAdminRequest.encode,
    decode: QueryGroupsByAdminResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "GroupsByAdmin",
    clientResolver
});
export const createGetGroupPoliciesByGroup = (clientResolver) => buildQuery({
    encode: QueryGroupPoliciesByGroupRequest.encode,
    decode: QueryGroupPoliciesByGroupResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "GroupPoliciesByGroup",
    clientResolver
});
export const createGetGroupPoliciesByAdmin = (clientResolver) => buildQuery({
    encode: QueryGroupPoliciesByAdminRequest.encode,
    decode: QueryGroupPoliciesByAdminResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "GroupPoliciesByAdmin",
    clientResolver
});
export const createGetProposal = (clientResolver) => buildQuery({
    encode: QueryProposalRequest.encode,
    decode: QueryProposalResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "Proposal",
    clientResolver
});
export const createGetProposalsByGroupPolicy = (clientResolver) => buildQuery({
    encode: QueryProposalsByGroupPolicyRequest.encode,
    decode: QueryProposalsByGroupPolicyResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "ProposalsByGroupPolicy",
    clientResolver
});
export const createGetVoteByProposalVoter = (clientResolver) => buildQuery({
    encode: QueryVoteByProposalVoterRequest.encode,
    decode: QueryVoteByProposalVoterResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "VoteByProposalVoter",
    clientResolver
});
export const createGetVotesByProposal = (clientResolver) => buildQuery({
    encode: QueryVotesByProposalRequest.encode,
    decode: QueryVotesByProposalResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "VotesByProposal",
    clientResolver
});
export const createGetVotesByVoter = (clientResolver) => buildQuery({
    encode: QueryVotesByVoterRequest.encode,
    decode: QueryVotesByVoterResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "VotesByVoter",
    clientResolver
});
export const createGetGroupsByMember = (clientResolver) => buildQuery({
    encode: QueryGroupsByMemberRequest.encode,
    decode: QueryGroupsByMemberResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "GroupsByMember",
    clientResolver
});
export const createGetTallyResult = (clientResolver) => buildQuery({
    encode: QueryTallyResultRequest.encode,
    decode: QueryTallyResultResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "TallyResult",
    clientResolver
});
export const createGetGroups = (clientResolver) => buildQuery({
    encode: QueryGroupsRequest.encode,
    decode: QueryGroupsResponse.decode,
    service: "cosmos.group.v1.Query",
    method: "Groups",
    clientResolver
});
