///
import type BN from "bn.js";
import type { ContractOptions } from "web3-eth-contract";
import type { EventLog } from "web3-core";
import type { EventEmitter } from "events";
import type { Callback, NonPayableTransactionObject, BlockType, ContractEventLog, BaseContract } from "./types";
export interface EventOptions {
filter?: object;
fromBlock?: BlockType;
topics?: string[];
}
export type Approval = ContractEventLog<{
owner: string;
approved: string;
tokenId: string;
0: string;
1: string;
2: string;
}>;
export type ApprovalForAll = ContractEventLog<{
owner: string;
operator: string;
approved: boolean;
0: string;
1: string;
2: boolean;
}>;
export type Transfer = ContractEventLog<{
from: string;
to: string;
tokenId: string;
0: string;
1: string;
2: string;
}>;
export interface IERC721 extends BaseContract {
constructor(jsonInterface: any[], address?: string, options?: ContractOptions): IERC721;
clone(): IERC721;
methods: {
approve(to: string, tokenId: number | string | BN): NonPayableTransactionObject;
balanceOf(owner: string): NonPayableTransactionObject;
getApproved(tokenId: number | string | BN): NonPayableTransactionObject;
isApprovedForAll(owner: string, operator: string): NonPayableTransactionObject;
ownerOf(tokenId: number | string | BN): NonPayableTransactionObject;
"safeTransferFrom(address,address,uint256)"(from: string, to: string, tokenId: number | string | BN): NonPayableTransactionObject;
"safeTransferFrom(address,address,uint256,bytes)"(from: string, to: string, tokenId: number | string | BN, data: string | number[]): NonPayableTransactionObject;
setApprovalForAll(operator: string, _approved: boolean): NonPayableTransactionObject;
supportsInterface(interfaceId: string | number[]): NonPayableTransactionObject;
transferFrom(from: string, to: string, tokenId: number | string | BN): NonPayableTransactionObject;
};
events: {
Approval(cb?: Callback): EventEmitter;
Approval(options?: EventOptions, cb?: Callback): EventEmitter;
ApprovalForAll(cb?: Callback): EventEmitter;
ApprovalForAll(options?: EventOptions, cb?: Callback): EventEmitter;
Transfer(cb?: Callback): EventEmitter;
Transfer(options?: EventOptions, cb?: Callback): EventEmitter;
allEvents(options?: EventOptions, cb?: Callback): EventEmitter;
};
once(event: "Approval", cb: Callback): void;
once(event: "Approval", options: EventOptions, cb: Callback): void;
once(event: "ApprovalForAll", cb: Callback): void;
once(event: "ApprovalForAll", options: EventOptions, cb: Callback): void;
once(event: "Transfer", cb: Callback): void;
once(event: "Transfer", options: EventOptions, cb: Callback): void;
}