import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common"; export type TokenInfoStruct = { name: string; symbol: string; decimals: BigNumberish; tvmAddress: string; }; export type TokenInfoStructOutput = [ name: string, symbol: string, decimals: bigint, tvmAddress: string ] & { name: string; symbol: string; decimals: bigint; tvmAddress: string; }; export type NFTInfoStruct = { name: string; symbol: string; baseURI: string; tvmAddress: string; }; export type NFTInfoStructOutput = [ name: string, symbol: string, baseURI: string, tvmAddress: string ] & { name: string; symbol: string; baseURI: string; tvmAddress: string; }; export interface ITokenUtilsInterface extends Interface { getFunction(nameOrSignature: "computeAddress" | "computeAddressERC721" | "create" | "createERC721" | "disableInitializers" | "exists(string)" | "exists(address)"): FunctionFragment; encodeFunctionData(functionFragment: "computeAddress", values: [string]): string; encodeFunctionData(functionFragment: "computeAddressERC721", values: [string]): string; encodeFunctionData(functionFragment: "create", values: [TokenInfoStruct]): string; encodeFunctionData(functionFragment: "createERC721", values: [NFTInfoStruct]): string; encodeFunctionData(functionFragment: "disableInitializers", values?: undefined): string; encodeFunctionData(functionFragment: "exists(string)", values: [string]): string; encodeFunctionData(functionFragment: "exists(address)", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "computeAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "computeAddressERC721", data: BytesLike): Result; decodeFunctionResult(functionFragment: "create", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createERC721", data: BytesLike): Result; decodeFunctionResult(functionFragment: "disableInitializers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exists(string)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exists(address)", data: BytesLike): Result; } export interface ITokenUtils extends BaseContract { connect(runner?: ContractRunner | null): ITokenUtils; waitForDeployment(): Promise; interface: ITokenUtilsInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; computeAddress: TypedContractMethod<[tvmAddress: string], [string], "view">; computeAddressERC721: TypedContractMethod<[ tvmAddress: string ], [ string ], "view">; create: TypedContractMethod<[info: TokenInfoStruct], [void], "nonpayable">; createERC721: TypedContractMethod<[ info: NFTInfoStruct ], [ void ], "nonpayable">; disableInitializers: TypedContractMethod<[], [void], "nonpayable">; "exists(string)": TypedContractMethod<[ tvmAddress: string ], [ boolean ], "view">; "exists(address)": TypedContractMethod<[ evmAddress: AddressLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "computeAddress"): TypedContractMethod<[tvmAddress: string], [string], "view">; getFunction(nameOrSignature: "computeAddressERC721"): TypedContractMethod<[tvmAddress: string], [string], "view">; getFunction(nameOrSignature: "create"): TypedContractMethod<[info: TokenInfoStruct], [void], "nonpayable">; getFunction(nameOrSignature: "createERC721"): TypedContractMethod<[info: NFTInfoStruct], [void], "nonpayable">; getFunction(nameOrSignature: "disableInitializers"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "exists(string)"): TypedContractMethod<[tvmAddress: string], [boolean], "view">; getFunction(nameOrSignature: "exists(address)"): TypedContractMethod<[evmAddress: AddressLike], [boolean], "view">; filters: {}; }