import { buildUseVueQuery } from "../../../vue-query";
import { getBalance, getOwner, getSupply, getNFTs, getNFT, getClass, getClasses } from "./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
 */
export const useGetBalance = buildUseVueQuery({
    builderQueryFn: 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
 */
export const useGetOwner = buildUseVueQuery({
    builderQueryFn: 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
 */
export const useGetSupply = buildUseVueQuery({
    builderQueryFn: 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
 */
export const useGetNFTs = buildUseVueQuery({
    builderQueryFn: 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
 */
export const useGetNFT = buildUseVueQuery({
    builderQueryFn: 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
 */
export const useGetClass = buildUseVueQuery({
    builderQueryFn: getClass,
    queryKeyPrefix: "ClassQuery"
});
/**
 * Classes queries all NFT classes
 * @name useGetClasses
 * @package cosmos.nft.v1beta1
 * @see proto service: cosmos.nft.v1beta1.Classes
 */
export const useGetClasses = buildUseVueQuery({
    builderQueryFn: getClasses,
    queryKeyPrefix: "ClassesQuery"
});
