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 interface IENSRegistryInterface extends Interface { getFunction(nameOrSignature: "isApprovedForAll" | "owner" | "recordExists" | "resolver" | "setApprovalForAll" | "setOwner" | "setRecord" | "setResolver" | "setSubnodeOwner" | "setSubnodeRecord" | "setTTL" | "ttl"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "ApprovalForAll" | "NewOwner" | "NewResolver" | "NewTTL" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "isApprovedForAll", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "owner", values: [BytesLike]): string; encodeFunctionData(functionFragment: "recordExists", values: [BytesLike]): string; encodeFunctionData(functionFragment: "resolver", values: [BytesLike]): string; encodeFunctionData(functionFragment: "setApprovalForAll", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "setOwner", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "setRecord", values: [BytesLike, AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "setResolver", values: [BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "setSubnodeOwner", values: [BytesLike, BytesLike, AddressLike]): string; encodeFunctionData(functionFragment: "setSubnodeRecord", values: [BytesLike, BytesLike, AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "setTTL", values: [BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "ttl", values: [BytesLike]): string; decodeFunctionResult(functionFragment: "isApprovedForAll", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "recordExists", data: BytesLike): Result; decodeFunctionResult(functionFragment: "resolver", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setApprovalForAll", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRecord", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setResolver", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSubnodeOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSubnodeRecord", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setTTL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ttl", data: BytesLike): Result; } export declare namespace ApprovalForAllEvent { type InputTuple = [ owner: AddressLike, operator: AddressLike, approved: boolean ]; type OutputTuple = [ owner: string, operator: string, approved: boolean ]; interface OutputObject { owner: string; operator: string; approved: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewOwnerEvent { type InputTuple = [ node: BytesLike, label: BytesLike, owner: AddressLike ]; type OutputTuple = [node: string, label: string, owner: string]; interface OutputObject { node: string; label: string; owner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewResolverEvent { type InputTuple = [node: BytesLike, resolver: AddressLike]; type OutputTuple = [node: string, resolver: string]; interface OutputObject { node: string; resolver: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewTTLEvent { type InputTuple = [node: BytesLike, ttl: BigNumberish]; type OutputTuple = [node: string, ttl: bigint]; interface OutputObject { node: string; ttl: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TransferEvent { type InputTuple = [node: BytesLike, owner: AddressLike]; type OutputTuple = [node: string, owner: string]; interface OutputObject { node: string; owner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IENSRegistry extends BaseContract { connect(runner?: ContractRunner | null): IENSRegistry; waitForDeployment(): Promise; interface: IENSRegistryInterface; 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; isApprovedForAll: TypedContractMethod<[ owner: AddressLike, operator: AddressLike ], [ boolean ], "view">; owner: TypedContractMethod<[node: BytesLike], [string], "view">; recordExists: TypedContractMethod<[node: BytesLike], [boolean], "view">; resolver: TypedContractMethod<[node: BytesLike], [string], "view">; setApprovalForAll: TypedContractMethod<[ operator: AddressLike, approved: boolean ], [ void ], "nonpayable">; setOwner: TypedContractMethod<[ node: BytesLike, owner: AddressLike ], [ void ], "nonpayable">; setRecord: TypedContractMethod<[ node: BytesLike, owner: AddressLike, resolver: AddressLike, ttl: BigNumberish ], [ void ], "nonpayable">; setResolver: TypedContractMethod<[ node: BytesLike, resolver: AddressLike ], [ void ], "nonpayable">; setSubnodeOwner: TypedContractMethod<[ node: BytesLike, label: BytesLike, owner: AddressLike ], [ string ], "nonpayable">; setSubnodeRecord: TypedContractMethod<[ node: BytesLike, label: BytesLike, owner: AddressLike, resolver: AddressLike, ttl: BigNumberish ], [ void ], "nonpayable">; setTTL: TypedContractMethod<[ node: BytesLike, ttl: BigNumberish ], [ void ], "nonpayable">; ttl: TypedContractMethod<[node: BytesLike], [bigint], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "isApprovedForAll"): TypedContractMethod<[ owner: AddressLike, operator: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[node: BytesLike], [string], "view">; getFunction(nameOrSignature: "recordExists"): TypedContractMethod<[node: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "resolver"): TypedContractMethod<[node: BytesLike], [string], "view">; getFunction(nameOrSignature: "setApprovalForAll"): TypedContractMethod<[ operator: AddressLike, approved: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setOwner"): TypedContractMethod<[ node: BytesLike, owner: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setRecord"): TypedContractMethod<[ node: BytesLike, owner: AddressLike, resolver: AddressLike, ttl: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setResolver"): TypedContractMethod<[ node: BytesLike, resolver: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setSubnodeOwner"): TypedContractMethod<[ node: BytesLike, label: BytesLike, owner: AddressLike ], [ string ], "nonpayable">; getFunction(nameOrSignature: "setSubnodeRecord"): TypedContractMethod<[ node: BytesLike, label: BytesLike, owner: AddressLike, resolver: AddressLike, ttl: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setTTL"): TypedContractMethod<[ node: BytesLike, ttl: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "ttl"): TypedContractMethod<[node: BytesLike], [bigint], "view">; getEvent(key: "ApprovalForAll"): TypedContractEvent; getEvent(key: "NewOwner"): TypedContractEvent; getEvent(key: "NewResolver"): TypedContractEvent; getEvent(key: "NewTTL"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "ApprovalForAll(address,address,bool)": TypedContractEvent; ApprovalForAll: TypedContractEvent; "NewOwner(bytes32,bytes32,address)": TypedContractEvent; NewOwner: TypedContractEvent; "NewResolver(bytes32,address)": TypedContractEvent; NewResolver: TypedContractEvent; "NewTTL(bytes32,uint64)": TypedContractEvent; NewTTL: TypedContractEvent; "Transfer(bytes32,address)": TypedContractEvent; Transfer: TypedContractEvent; }; }