import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common.js'; export declare namespace ISubsidy { type SubsidyStruct = { available: PromiseOrValue; gasUsage: PromiseOrValue; minGasPerMinute: PromiseOrValue; gasPerMinute: PromiseOrValue; lastUpdated: PromiseOrValue; }; type SubsidyStructOutput = [BigNumber, number, number, number, number] & { available: BigNumber; gasUsage: number; minGasPerMinute: number; gasPerMinute: number; lastUpdated: number; }; } export interface ISubsidyInterface extends utils.Interface { functions: { 'MIN_SUBSIDY_VALUE()': FunctionFragment; 'claimSubsidy(uint256,address)': FunctionFragment; 'claimableAmount(address)': FunctionFragment; 'getAccumulatedSubsidyAmount(address,uint256)': FunctionFragment; 'getSubsidy(address,uint256)': FunctionFragment; 'isRegistered(address)': FunctionFragment; 'registerBeneficiary(address)': FunctionFragment; 'setGasUsageAndMinGasPerMinute(uint256,uint32,uint32)': FunctionFragment; 'setGasUsageAndMinGasPerMinute(uint256[],uint32[],uint32[])': FunctionFragment; 'subsidize(address,uint256,uint32)': FunctionFragment; 'topUp(address,uint256)': FunctionFragment; 'withdraw(address)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'MIN_SUBSIDY_VALUE' | 'claimSubsidy' | 'claimableAmount' | 'getAccumulatedSubsidyAmount' | 'getSubsidy' | 'isRegistered' | 'registerBeneficiary' | 'setGasUsageAndMinGasPerMinute(uint256,uint32,uint32)' | 'setGasUsageAndMinGasPerMinute(uint256[],uint32[],uint32[])' | 'subsidize' | 'topUp' | 'withdraw'): FunctionFragment; encodeFunctionData(functionFragment: 'MIN_SUBSIDY_VALUE', values?: undefined): string; encodeFunctionData(functionFragment: 'claimSubsidy', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'claimableAmount', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'getAccumulatedSubsidyAmount', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'getSubsidy', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'isRegistered', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'registerBeneficiary', values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setGasUsageAndMinGasPerMinute(uint256,uint32,uint32)', values: [PromiseOrValue, PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'setGasUsageAndMinGasPerMinute(uint256[],uint32[],uint32[])', values: [PromiseOrValue[], PromiseOrValue[], PromiseOrValue[]]): string; encodeFunctionData(functionFragment: 'subsidize', values: [PromiseOrValue, PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'topUp', values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: 'withdraw', values: [PromiseOrValue]): string; decodeFunctionResult(functionFragment: 'MIN_SUBSIDY_VALUE', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'claimSubsidy', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'claimableAmount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getAccumulatedSubsidyAmount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getSubsidy', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'isRegistered', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'registerBeneficiary', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setGasUsageAndMinGasPerMinute(uint256,uint32,uint32)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setGasUsageAndMinGasPerMinute(uint256[],uint32[],uint32[])', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'subsidize', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'topUp', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; events: {}; } export interface ISubsidy extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ISubsidyInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { MIN_SUBSIDY_VALUE(overrides?: CallOverrides): Promise<[BigNumber]>; claimSubsidy(_criteria: PromiseOrValue, _beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; claimableAmount(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; getAccumulatedSubsidyAmount(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; getSubsidy(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise<[ISubsidy.SubsidyStructOutput]>; isRegistered(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; registerBeneficiary(_beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; 'setGasUsageAndMinGasPerMinute(uint256,uint32,uint32)'(_criteria: PromiseOrValue, _gasUsage: PromiseOrValue, _minGasPerMinute: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; 'setGasUsageAndMinGasPerMinute(uint256[],uint32[],uint32[])'(_criteria: PromiseOrValue[], _gasUsage: PromiseOrValue[], _minGasPerMinute: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; subsidize(_bridge: PromiseOrValue, _criteria: PromiseOrValue, _gasPerMinute: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; topUp(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; withdraw(_beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; MIN_SUBSIDY_VALUE(overrides?: CallOverrides): Promise; claimSubsidy(_criteria: PromiseOrValue, _beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; claimableAmount(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; getAccumulatedSubsidyAmount(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise; getSubsidy(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise; isRegistered(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; registerBeneficiary(_beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; 'setGasUsageAndMinGasPerMinute(uint256,uint32,uint32)'(_criteria: PromiseOrValue, _gasUsage: PromiseOrValue, _minGasPerMinute: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; 'setGasUsageAndMinGasPerMinute(uint256[],uint32[],uint32[])'(_criteria: PromiseOrValue[], _gasUsage: PromiseOrValue[], _minGasPerMinute: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; subsidize(_bridge: PromiseOrValue, _criteria: PromiseOrValue, _gasPerMinute: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; topUp(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; withdraw(_beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { MIN_SUBSIDY_VALUE(overrides?: CallOverrides): Promise; claimSubsidy(_criteria: PromiseOrValue, _beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; claimableAmount(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; getAccumulatedSubsidyAmount(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise; getSubsidy(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise; isRegistered(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; registerBeneficiary(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; 'setGasUsageAndMinGasPerMinute(uint256,uint32,uint32)'(_criteria: PromiseOrValue, _gasUsage: PromiseOrValue, _minGasPerMinute: PromiseOrValue, overrides?: CallOverrides): Promise; 'setGasUsageAndMinGasPerMinute(uint256[],uint32[],uint32[])'(_criteria: PromiseOrValue[], _gasUsage: PromiseOrValue[], _minGasPerMinute: PromiseOrValue[], overrides?: CallOverrides): Promise; subsidize(_bridge: PromiseOrValue, _criteria: PromiseOrValue, _gasPerMinute: PromiseOrValue, overrides?: CallOverrides): Promise; topUp(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise; withdraw(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { MIN_SUBSIDY_VALUE(overrides?: CallOverrides): Promise; claimSubsidy(_criteria: PromiseOrValue, _beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; claimableAmount(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; getAccumulatedSubsidyAmount(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise; getSubsidy(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise; isRegistered(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; registerBeneficiary(_beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; 'setGasUsageAndMinGasPerMinute(uint256,uint32,uint32)'(_criteria: PromiseOrValue, _gasUsage: PromiseOrValue, _minGasPerMinute: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; 'setGasUsageAndMinGasPerMinute(uint256[],uint32[],uint32[])'(_criteria: PromiseOrValue[], _gasUsage: PromiseOrValue[], _minGasPerMinute: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; subsidize(_bridge: PromiseOrValue, _criteria: PromiseOrValue, _gasPerMinute: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; topUp(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; withdraw(_beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { MIN_SUBSIDY_VALUE(overrides?: CallOverrides): Promise; claimSubsidy(_criteria: PromiseOrValue, _beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; claimableAmount(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; getAccumulatedSubsidyAmount(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise; getSubsidy(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: CallOverrides): Promise; isRegistered(_beneficiary: PromiseOrValue, overrides?: CallOverrides): Promise; registerBeneficiary(_beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; 'setGasUsageAndMinGasPerMinute(uint256,uint32,uint32)'(_criteria: PromiseOrValue, _gasUsage: PromiseOrValue, _minGasPerMinute: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; 'setGasUsageAndMinGasPerMinute(uint256[],uint32[],uint32[])'(_criteria: PromiseOrValue[], _gasUsage: PromiseOrValue[], _minGasPerMinute: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; subsidize(_bridge: PromiseOrValue, _criteria: PromiseOrValue, _gasPerMinute: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; topUp(_bridge: PromiseOrValue, _criteria: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; withdraw(_beneficiary: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; }