import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common"; export interface IERC1820RegistryInterface extends Interface { getFunction(nameOrSignature: "getInterfaceImplementer" | "getManager" | "implementsERC165Interface" | "implementsERC165InterfaceNoCache" | "interfaceHash" | "setInterfaceImplementer" | "setManager" | "updateERC165Cache"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "InterfaceImplementerSet" | "ManagerChanged"): EventFragment; encodeFunctionData(functionFragment: "getInterfaceImplementer", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "getManager", values: [AddressLike]): string; encodeFunctionData(functionFragment: "implementsERC165Interface", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "implementsERC165InterfaceNoCache", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "interfaceHash", values: [string]): string; encodeFunctionData(functionFragment: "setInterfaceImplementer", values: [AddressLike, BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "setManager", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "updateERC165Cache", values: [AddressLike, BytesLike]): string; decodeFunctionResult(functionFragment: "getInterfaceImplementer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementsERC165Interface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementsERC165InterfaceNoCache", data: BytesLike): Result; decodeFunctionResult(functionFragment: "interfaceHash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setInterfaceImplementer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateERC165Cache", data: BytesLike): Result; } export declare namespace InterfaceImplementerSetEvent { type InputTuple = [ account: AddressLike, interfaceHash: BytesLike, implementer: AddressLike ]; type OutputTuple = [ account: string, interfaceHash: string, implementer: string ]; interface OutputObject { account: string; interfaceHash: string; implementer: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ManagerChangedEvent { type InputTuple = [account: AddressLike, newManager: AddressLike]; type OutputTuple = [account: string, newManager: string]; interface OutputObject { account: string; newManager: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IERC1820Registry extends BaseContract { connect(runner?: ContractRunner | null): IERC1820Registry; waitForDeployment(): Promise; interface: IERC1820RegistryInterface; 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; getInterfaceImplementer: TypedContractMethod<[ account: AddressLike, _interfaceHash: BytesLike ], [ string ], "view">; getManager: TypedContractMethod<[account: AddressLike], [string], "view">; implementsERC165Interface: TypedContractMethod<[ account: AddressLike, interfaceId: BytesLike ], [ boolean ], "view">; implementsERC165InterfaceNoCache: TypedContractMethod<[ account: AddressLike, interfaceId: BytesLike ], [ boolean ], "view">; interfaceHash: TypedContractMethod<[interfaceName: string], [string], "view">; setInterfaceImplementer: TypedContractMethod<[ account: AddressLike, _interfaceHash: BytesLike, implementer: AddressLike ], [ void ], "nonpayable">; setManager: TypedContractMethod<[ account: AddressLike, newManager: AddressLike ], [ void ], "nonpayable">; updateERC165Cache: TypedContractMethod<[ account: AddressLike, interfaceId: BytesLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getInterfaceImplementer"): TypedContractMethod<[ account: AddressLike, _interfaceHash: BytesLike ], [ string ], "view">; getFunction(nameOrSignature: "getManager"): TypedContractMethod<[account: AddressLike], [string], "view">; getFunction(nameOrSignature: "implementsERC165Interface"): TypedContractMethod<[ account: AddressLike, interfaceId: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "implementsERC165InterfaceNoCache"): TypedContractMethod<[ account: AddressLike, interfaceId: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "interfaceHash"): TypedContractMethod<[interfaceName: string], [string], "view">; getFunction(nameOrSignature: "setInterfaceImplementer"): TypedContractMethod<[ account: AddressLike, _interfaceHash: BytesLike, implementer: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setManager"): TypedContractMethod<[ account: AddressLike, newManager: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateERC165Cache"): TypedContractMethod<[ account: AddressLike, interfaceId: BytesLike ], [ void ], "nonpayable">; getEvent(key: "InterfaceImplementerSet"): TypedContractEvent; getEvent(key: "ManagerChanged"): TypedContractEvent; filters: { "InterfaceImplementerSet(address,bytes32,address)": TypedContractEvent; InterfaceImplementerSet: TypedContractEvent; "ManagerChanged(address,address)": TypedContractEvent; ManagerChanged: TypedContractEvent; }; }