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 IServiceRegistryToolshedInterface extends Interface { getFunction(nameOrSignature: "isRegistered" | "register" | "registerFor" | "services" | "unregister" | "unregisterFor"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "ServiceRegistered"): EventFragment; encodeFunctionData(functionFragment: "isRegistered", values: [AddressLike]): string; encodeFunctionData(functionFragment: "register", values: [string, string]): string; encodeFunctionData(functionFragment: "registerFor", values: [AddressLike, string, string]): string; encodeFunctionData(functionFragment: "services", values: [AddressLike]): string; encodeFunctionData(functionFragment: "unregister", values?: undefined): string; encodeFunctionData(functionFragment: "unregisterFor", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "isRegistered", data: BytesLike): Result; decodeFunctionResult(functionFragment: "register", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "services", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unregister", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unregisterFor", data: BytesLike): Result; } export declare namespace ServiceRegisteredEvent { type InputTuple = [indexer: AddressLike, url: string, geohash: string]; type OutputTuple = [indexer: string, url: string, geohash: string]; interface OutputObject { indexer: string; url: string; geohash: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IServiceRegistryToolshed extends BaseContract { connect(runner?: ContractRunner | null): IServiceRegistryToolshed; waitForDeployment(): Promise; interface: IServiceRegistryToolshedInterface; 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; isRegistered: TypedContractMethod<[indexer: AddressLike], [boolean], "view">; register: TypedContractMethod<[ url: string, geohash: string ], [ void ], "nonpayable">; registerFor: TypedContractMethod<[ indexer: AddressLike, url: string, geohash: string ], [ void ], "nonpayable">; services: TypedContractMethod<[ indexer: AddressLike ], [ [string, string] & { url: string; geoHash: string; } ], "view">; unregister: TypedContractMethod<[], [void], "nonpayable">; unregisterFor: TypedContractMethod<[ indexer: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "isRegistered"): TypedContractMethod<[indexer: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "register"): TypedContractMethod<[url: string, geohash: string], [void], "nonpayable">; getFunction(nameOrSignature: "registerFor"): TypedContractMethod<[ indexer: AddressLike, url: string, geohash: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "services"): TypedContractMethod<[ indexer: AddressLike ], [ [string, string] & { url: string; geoHash: string; } ], "view">; getFunction(nameOrSignature: "unregister"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "unregisterFor"): TypedContractMethod<[indexer: AddressLike], [void], "nonpayable">; getEvent(key: "ServiceRegistered"): TypedContractEvent; filters: { "ServiceRegistered(address,string,string)": TypedContractEvent; ServiceRegistered: TypedContractEvent; }; } //# sourceMappingURL=IServiceRegistryToolshed.d.ts.map