/// 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, PayableTransactionObject, 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 IERC721Permit extends BaseContract { constructor(jsonInterface: any[], address?: string, options?: ContractOptions): IERC721Permit; clone(): IERC721Permit; methods: { DOMAIN_SEPARATOR(): NonPayableTransactionObject; PERMIT_TYPEHASH(): NonPayableTransactionObject; 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; permit(spender: string, tokenId: number | string | BN, deadline: number | string | BN, v: number | string | BN, r: string | number[], s: string | number[]): PayableTransactionObject; "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; }