"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.useGetClasses = exports.useGetClass = exports.useGetNFT = exports.useGetNFTs = exports.useGetSupply = exports.useGetOwner = exports.useGetBalance = void 0;
const vue_query_1 = require("../../../vue-query");
const query_rpc_func_1 = require("./query.rpc.func");
/**
 * Balance queries the number of NFTs of a given class owned by the owner, same as balanceOf in ERC721
 * @name useGetBalance
 * @package cosmos.nft.v1beta1
 * @see proto service: cosmos.nft.v1beta1.Balance
 */
exports.useGetBalance = (0, vue_query_1.buildUseVueQuery)({
    builderQueryFn: query_rpc_func_1.getBalance,
    queryKeyPrefix: "BalanceQuery"
});
/**
 * Owner queries the owner of the NFT based on its class and id, same as ownerOf in ERC721
 * @name useGetOwner
 * @package cosmos.nft.v1beta1
 * @see proto service: cosmos.nft.v1beta1.Owner
 */
exports.useGetOwner = (0, vue_query_1.buildUseVueQuery)({
    builderQueryFn: query_rpc_func_1.getOwner,
    queryKeyPrefix: "OwnerQuery"
});
/**
 * Supply queries the number of NFTs from the given class, same as totalSupply of ERC721.
 * @name useGetSupply
 * @package cosmos.nft.v1beta1
 * @see proto service: cosmos.nft.v1beta1.Supply
 */
exports.useGetSupply = (0, vue_query_1.buildUseVueQuery)({
    builderQueryFn: query_rpc_func_1.getSupply,
    queryKeyPrefix: "SupplyQuery"
});
/**
 * NFTs queries all NFTs of a given class or owner,choose at least one of the two, similar to tokenByIndex in
 * ERC721Enumerable
 * @name useGetNFTs
 * @package cosmos.nft.v1beta1
 * @see proto service: cosmos.nft.v1beta1.NFTs
 */
exports.useGetNFTs = (0, vue_query_1.buildUseVueQuery)({
    builderQueryFn: query_rpc_func_1.getNFTs,
    queryKeyPrefix: "NFTsQuery"
});
/**
 * NFT queries an NFT based on its class and id.
 * @name useGetNFT
 * @package cosmos.nft.v1beta1
 * @see proto service: cosmos.nft.v1beta1.NFT
 */
exports.useGetNFT = (0, vue_query_1.buildUseVueQuery)({
    builderQueryFn: query_rpc_func_1.getNFT,
    queryKeyPrefix: "NFTQuery"
});
/**
 * Class queries an NFT class based on its id
 * @name useGetClass
 * @package cosmos.nft.v1beta1
 * @see proto service: cosmos.nft.v1beta1.Class
 */
exports.useGetClass = (0, vue_query_1.buildUseVueQuery)({
    builderQueryFn: query_rpc_func_1.getClass,
    queryKeyPrefix: "ClassQuery"
});
/**
 * Classes queries all NFT classes
 * @name useGetClasses
 * @package cosmos.nft.v1beta1
 * @see proto service: cosmos.nft.v1beta1.Classes
 */
exports.useGetClasses = (0, vue_query_1.buildUseVueQuery)({
    builderQueryFn: query_rpc_func_1.getClasses,
    queryKeyPrefix: "ClassesQuery"
});
