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 IDataServiceInterface extends Interface { getFunction(nameOrSignature: "acceptProvisionPendingParameters" | "collect" | "getDelegationRatio" | "getProvisionTokensRange" | "getThawingPeriodRange" | "getVerifierCutRange" | "register" | "slash" | "startService" | "stopService"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "ProvisionPendingParametersAccepted" | "ServicePaymentCollected" | "ServiceProviderRegistered" | "ServiceProviderSlashed" | "ServiceStarted" | "ServiceStopped"): EventFragment; encodeFunctionData(functionFragment: "acceptProvisionPendingParameters", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "collect", values: [AddressLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "getDelegationRatio", values?: undefined): string; encodeFunctionData(functionFragment: "getProvisionTokensRange", values?: undefined): string; encodeFunctionData(functionFragment: "getThawingPeriodRange", values?: undefined): string; encodeFunctionData(functionFragment: "getVerifierCutRange", values?: undefined): string; encodeFunctionData(functionFragment: "register", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "slash", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "startService", values: [AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "stopService", values: [AddressLike, BytesLike]): string; decodeFunctionResult(functionFragment: "acceptProvisionPendingParameters", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collect", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDelegationRatio", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getProvisionTokensRange", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getThawingPeriodRange", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getVerifierCutRange", data: BytesLike): Result; decodeFunctionResult(functionFragment: "register", data: BytesLike): Result; decodeFunctionResult(functionFragment: "slash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "startService", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stopService", data: BytesLike): Result; } export declare namespace ProvisionPendingParametersAcceptedEvent { type InputTuple = [serviceProvider: AddressLike]; type OutputTuple = [serviceProvider: string]; interface OutputObject { serviceProvider: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ServicePaymentCollectedEvent { type InputTuple = [ serviceProvider: AddressLike, feeType: BigNumberish, tokens: BigNumberish ]; type OutputTuple = [ serviceProvider: string, feeType: bigint, tokens: bigint ]; interface OutputObject { serviceProvider: string; feeType: bigint; tokens: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ServiceProviderRegisteredEvent { type InputTuple = [serviceProvider: AddressLike, data: BytesLike]; type OutputTuple = [serviceProvider: string, data: string]; interface OutputObject { serviceProvider: string; data: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ServiceProviderSlashedEvent { type InputTuple = [serviceProvider: AddressLike, tokens: BigNumberish]; type OutputTuple = [serviceProvider: string, tokens: bigint]; interface OutputObject { serviceProvider: string; tokens: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ServiceStartedEvent { type InputTuple = [serviceProvider: AddressLike, data: BytesLike]; type OutputTuple = [serviceProvider: string, data: string]; interface OutputObject { serviceProvider: string; data: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ServiceStoppedEvent { type InputTuple = [serviceProvider: AddressLike, data: BytesLike]; type OutputTuple = [serviceProvider: string, data: string]; interface OutputObject { serviceProvider: string; data: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IDataService extends BaseContract { connect(runner?: ContractRunner | null): IDataService; waitForDeployment(): Promise; interface: IDataServiceInterface; 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; acceptProvisionPendingParameters: TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; collect: TypedContractMethod<[ serviceProvider: AddressLike, feeType: BigNumberish, data: BytesLike ], [ bigint ], "nonpayable">; getDelegationRatio: TypedContractMethod<[], [bigint], "view">; getProvisionTokensRange: TypedContractMethod<[], [[bigint, bigint]], "view">; getThawingPeriodRange: TypedContractMethod<[], [[bigint, bigint]], "view">; getVerifierCutRange: TypedContractMethod<[], [[bigint, bigint]], "view">; register: TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; slash: TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; startService: TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; stopService: TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "acceptProvisionPendingParameters"): TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "collect"): TypedContractMethod<[ serviceProvider: AddressLike, feeType: BigNumberish, data: BytesLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "getDelegationRatio"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getProvisionTokensRange"): TypedContractMethod<[], [[bigint, bigint]], "view">; getFunction(nameOrSignature: "getThawingPeriodRange"): TypedContractMethod<[], [[bigint, bigint]], "view">; getFunction(nameOrSignature: "getVerifierCutRange"): TypedContractMethod<[], [[bigint, bigint]], "view">; getFunction(nameOrSignature: "register"): TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "slash"): TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "startService"): TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "stopService"): TypedContractMethod<[ serviceProvider: AddressLike, data: BytesLike ], [ void ], "nonpayable">; getEvent(key: "ProvisionPendingParametersAccepted"): TypedContractEvent; getEvent(key: "ServicePaymentCollected"): TypedContractEvent; getEvent(key: "ServiceProviderRegistered"): TypedContractEvent; getEvent(key: "ServiceProviderSlashed"): TypedContractEvent; getEvent(key: "ServiceStarted"): TypedContractEvent; getEvent(key: "ServiceStopped"): TypedContractEvent; filters: { "ProvisionPendingParametersAccepted(address)": TypedContractEvent; ProvisionPendingParametersAccepted: TypedContractEvent; "ServicePaymentCollected(address,uint8,uint256)": TypedContractEvent; ServicePaymentCollected: TypedContractEvent; "ServiceProviderRegistered(address,bytes)": TypedContractEvent; ServiceProviderRegistered: TypedContractEvent; "ServiceProviderSlashed(address,uint256)": TypedContractEvent; ServiceProviderSlashed: TypedContractEvent; "ServiceStarted(address,bytes)": TypedContractEvent; ServiceStarted: TypedContractEvent; "ServiceStopped(address,bytes)": TypedContractEvent; ServiceStopped: TypedContractEvent; }; } //# sourceMappingURL=IDataService.d.ts.map