import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common"; export declare namespace IRenovaCommandDeck { type ItemMintSpecStruct = { hashverseItemIds: BigNumberish[]; rootId: BytesLike; proof: BytesLike[]; }; type ItemMintSpecStructOutput = [ hashverseItemIds: bigint[], rootId: string, proof: string[] ] & { hashverseItemIds: bigint[]; rootId: string; proof: string[]; }; } export interface IRenovaCommandDeckInterface extends Interface { getFunction(nameOrSignature: "createQuest" | "depositTokenForQuest" | "hashflowRouter" | "initialize" | "itemMerkleRoots" | "mintItemAdmin" | "mintItems" | "questDeploymentAddresses" | "questIdsByDeploymentAddress" | "questOwner" | "renovaAvatar" | "renovaItem" | "updateHashflowRouter" | "updateQuestOwner" | "uploadItemMerkleRoot"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "CreateQuest" | "MintItems" | "UpdateHashflowRouter" | "UpdateQuestOwner" | "UploadItemMerkleRoot"): EventFragment; encodeFunctionData(functionFragment: "createQuest", values: [BytesLike, BigNumberish, BigNumberish, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "depositTokenForQuest", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "hashflowRouter", values?: undefined): string; encodeFunctionData(functionFragment: "initialize", values: [AddressLike, AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "itemMerkleRoots", values: [BytesLike]): string; encodeFunctionData(functionFragment: "mintItemAdmin", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "mintItems", values: [AddressLike, IRenovaCommandDeck.ItemMintSpecStruct[]]): string; encodeFunctionData(functionFragment: "questDeploymentAddresses", values: [BytesLike]): string; encodeFunctionData(functionFragment: "questIdsByDeploymentAddress", values: [AddressLike]): string; encodeFunctionData(functionFragment: "questOwner", values?: undefined): string; encodeFunctionData(functionFragment: "renovaAvatar", values?: undefined): string; encodeFunctionData(functionFragment: "renovaItem", values?: undefined): string; encodeFunctionData(functionFragment: "updateHashflowRouter", values: [AddressLike]): string; encodeFunctionData(functionFragment: "updateQuestOwner", values: [AddressLike]): string; encodeFunctionData(functionFragment: "uploadItemMerkleRoot", values: [BytesLike, BytesLike]): string; decodeFunctionResult(functionFragment: "createQuest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositTokenForQuest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hashflowRouter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "itemMerkleRoots", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mintItemAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mintItems", data: BytesLike): Result; decodeFunctionResult(functionFragment: "questDeploymentAddresses", data: BytesLike): Result; decodeFunctionResult(functionFragment: "questIdsByDeploymentAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "questOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renovaAvatar", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renovaItem", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateHashflowRouter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateQuestOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "uploadItemMerkleRoot", data: BytesLike): Result; } export declare namespace CreateQuestEvent { type InputTuple = [ questId: BytesLike, questAddress: AddressLike, startTime: BigNumberish, endTime: BigNumberish, depositToken: AddressLike, minDepositAmount: BigNumberish ]; type OutputTuple = [ questId: string, questAddress: string, startTime: bigint, endTime: bigint, depositToken: string, minDepositAmount: bigint ]; interface OutputObject { questId: string; questAddress: string; startTime: bigint; endTime: bigint; depositToken: string; minDepositAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MintItemsEvent { type InputTuple = [rootId: BytesLike, player: AddressLike]; type OutputTuple = [rootId: string, player: string]; interface OutputObject { rootId: string; player: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateHashflowRouterEvent { type InputTuple = [newRouter: AddressLike, oldRouter: AddressLike]; type OutputTuple = [newRouter: string, oldRouter: string]; interface OutputObject { newRouter: string; oldRouter: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateQuestOwnerEvent { type InputTuple = [ newQuestOwner: AddressLike, oldQuestOwner: AddressLike ]; type OutputTuple = [newQuestOwner: string, oldQuestOwner: string]; interface OutputObject { newQuestOwner: string; oldQuestOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UploadItemMerkleRootEvent { type InputTuple = [rootId: BytesLike, root: BytesLike]; type OutputTuple = [rootId: string, root: string]; interface OutputObject { rootId: string; root: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IRenovaCommandDeck extends BaseContract { connect(runner?: ContractRunner | null): IRenovaCommandDeck; waitForDeployment(): Promise; interface: IRenovaCommandDeckInterface; 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; createQuest: TypedContractMethod<[ questId: BytesLike, startTime: BigNumberish, endTime: BigNumberish, depositToken: AddressLike, minDepositAmount: BigNumberish ], [ void ], "nonpayable">; depositTokenForQuest: TypedContractMethod<[ player: AddressLike, depositAmount: BigNumberish ], [ void ], "nonpayable">; hashflowRouter: TypedContractMethod<[], [string], "view">; initialize: TypedContractMethod<[ renovaAvatar: AddressLike, renovaItem: AddressLike, hashflowRouter: AddressLike, questOwner: AddressLike ], [ void ], "nonpayable">; itemMerkleRoots: TypedContractMethod<[rootId: BytesLike], [string], "view">; mintItemAdmin: TypedContractMethod<[ tokenOwner: AddressLike, hashverseItemId: BigNumberish ], [ void ], "nonpayable">; mintItems: TypedContractMethod<[ tokenOwner: AddressLike, mintSpecs: IRenovaCommandDeck.ItemMintSpecStruct[] ], [ void ], "nonpayable">; questDeploymentAddresses: TypedContractMethod<[ questId: BytesLike ], [ string ], "view">; questIdsByDeploymentAddress: TypedContractMethod<[ questAddress: AddressLike ], [ string ], "view">; questOwner: TypedContractMethod<[], [string], "view">; renovaAvatar: TypedContractMethod<[], [string], "view">; renovaItem: TypedContractMethod<[], [string], "view">; updateHashflowRouter: TypedContractMethod<[ hashflowRouter: AddressLike ], [ void ], "nonpayable">; updateQuestOwner: TypedContractMethod<[ questOwner: AddressLike ], [ void ], "nonpayable">; uploadItemMerkleRoot: TypedContractMethod<[ rootId: BytesLike, root: BytesLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "createQuest"): TypedContractMethod<[ questId: BytesLike, startTime: BigNumberish, endTime: BigNumberish, depositToken: AddressLike, minDepositAmount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "depositTokenForQuest"): TypedContractMethod<[ player: AddressLike, depositAmount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "hashflowRouter"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ renovaAvatar: AddressLike, renovaItem: AddressLike, hashflowRouter: AddressLike, questOwner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "itemMerkleRoots"): TypedContractMethod<[rootId: BytesLike], [string], "view">; getFunction(nameOrSignature: "mintItemAdmin"): TypedContractMethod<[ tokenOwner: AddressLike, hashverseItemId: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "mintItems"): TypedContractMethod<[ tokenOwner: AddressLike, mintSpecs: IRenovaCommandDeck.ItemMintSpecStruct[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "questDeploymentAddresses"): TypedContractMethod<[questId: BytesLike], [string], "view">; getFunction(nameOrSignature: "questIdsByDeploymentAddress"): TypedContractMethod<[questAddress: AddressLike], [string], "view">; getFunction(nameOrSignature: "questOwner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "renovaAvatar"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "renovaItem"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "updateHashflowRouter"): TypedContractMethod<[hashflowRouter: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "updateQuestOwner"): TypedContractMethod<[questOwner: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "uploadItemMerkleRoot"): TypedContractMethod<[ rootId: BytesLike, root: BytesLike ], [ void ], "nonpayable">; getEvent(key: "CreateQuest"): TypedContractEvent; getEvent(key: "MintItems"): TypedContractEvent; getEvent(key: "UpdateHashflowRouter"): TypedContractEvent; getEvent(key: "UpdateQuestOwner"): TypedContractEvent; getEvent(key: "UploadItemMerkleRoot"): TypedContractEvent; filters: { "CreateQuest(bytes32,address,uint256,uint256,address,uint256)": TypedContractEvent; CreateQuest: TypedContractEvent; "MintItems(bytes32,address)": TypedContractEvent; MintItems: TypedContractEvent; "UpdateHashflowRouter(address,address)": TypedContractEvent; UpdateHashflowRouter: TypedContractEvent; "UpdateQuestOwner(address,address)": TypedContractEvent; UpdateQuestOwner: TypedContractEvent; "UploadItemMerkleRoot(bytes32,bytes32)": TypedContractEvent; UploadItemMerkleRoot: TypedContractEvent; }; }