import { BlockTag, ethers } from "ethers"; import { BaseContractAPI } from "./contracts/base-contract-api"; /** * API for interacting with the HYCHAIN Node Key L2 contract */ export declare class HYCHAINNodeKeyAPI extends BaseContractAPI { /** * Get the current token balance of the owner * @param owner Owner address of the tokens * @returns Current token balance of the owner */ balanceOf(owner: string): Promise; /** * Get the name of the token * @returns Name of the token */ getName(): Promise; /** * Get the owner of the node key * @param tokenId Node key ID * @returns Owner of the node key */ getNodeKeyOwner(tokenId: number): Promise; /** * Get the symbol of the token * @returns Symbol of the token */ getTokenSymbol(): Promise; /** * Get the tokenURI of the token * @param tokenId Node key ID * @returns TokenURI of the token */ getTokenURI(tokenId: number): Promise; /** * Get the current total supply of the token * @returns Current total supply of the token */ getTotalSupply(): Promise; /** * Get all the current node key owners with their related transfer events. * If event was removed then it will not be included in the result. * If a token was transferred multiple times, the latest transfer event will be used. * @param fromBlock starting block number * @param toBlock ending block number * @returns Node key owners with their related transfer events */ getOwnersByEvents(fromBlock?: BlockTag, toBlock?: BlockTag): Promise; /** * Get all TransferEvents within the given block range * @param fromBlock starting block number * @param toBlock ending block number * @returns all TransferEvents within the given block range */ getTransferEvents(fromBlock?: BlockTag, toBlock?: BlockTag): Promise; } export interface TransferEvent { from: string; to: string; tokenId: number; blockNumber: ethers.BigNumberish; blockHash: string; transactionHash: string; removed: boolean; } export interface OwnerTransferEvent { owner: string; tokenIds: number[]; events: TransferEvent[]; } //# sourceMappingURL=hychain-node-key.d.ts.map