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 IRewardVaultInterface extends Interface { getFunction(nameOrSignature: 'addIncentive' | 'balanceOf' | 'delegateStake' | 'delegateWithdraw' | 'distributor' | 'earned' | 'exit' | 'getDelegateStake' | 'getReward' | 'getRewardForDuration' | 'getTotalDelegateStaked' | 'getWhitelistedTokens' | 'getWhitelistedTokensCount' | 'initialize' | 'lastTimeRewardApplicable' | 'lastUpdateTime' | 'notifyRewardAmount' | 'operator' | 'pause' | 'periodFinish' | 'recoverERC20' | 'removeIncentiveToken' | 'rewardPerToken' | 'rewardPerTokenStored' | 'rewardRate' | 'rewards' | 'rewardsDuration' | 'setDistributor' | 'setMaxIncentiveTokensCount' | 'setOperator' | 'setRewardsDuration' | 'stake' | 'totalSupply' | 'undistributedRewards' | 'unpause' | 'updateIncentiveManager' | 'userRewardPerTokenPaid' | 'whitelistIncentiveToken' | 'withdraw'): FunctionFragment; getEvent(nameOrSignatureOrTopic: 'DelegateStaked' | 'DelegateWithdrawn' | 'DistributorSet' | 'IncentiveAdded' | 'IncentiveManagerChanged' | 'IncentiveTokenRemoved' | 'IncentiveTokenWhitelisted' | 'IncentivesProcessFailed' | 'IncentivesProcessed' | 'MaxIncentiveTokensCountUpdated' | 'OperatorSet' | 'Recovered' | 'RewardAdded' | 'RewardPaid' | 'RewardsDurationUpdated' | 'Staked' | 'Withdrawn'): EventFragment; encodeFunctionData(functionFragment: 'addIncentive', values: [AddressLike, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'balanceOf', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'delegateStake', values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: 'delegateWithdraw', values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: 'distributor', values?: undefined): string; encodeFunctionData(functionFragment: 'earned', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'exit', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'getDelegateStake', values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: 'getReward', values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: 'getRewardForDuration', values?: undefined): string; encodeFunctionData(functionFragment: 'getTotalDelegateStaked', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'getWhitelistedTokens', values?: undefined): string; encodeFunctionData(functionFragment: 'getWhitelistedTokensCount', values?: undefined): string; encodeFunctionData(functionFragment: 'initialize', values: [AddressLike, AddressLike, AddressLike, AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: 'lastTimeRewardApplicable', values?: undefined): string; encodeFunctionData(functionFragment: 'lastUpdateTime', values?: undefined): string; encodeFunctionData(functionFragment: 'notifyRewardAmount', values: [BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: 'operator', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'pause', values?: undefined): string; encodeFunctionData(functionFragment: 'periodFinish', values?: undefined): string; encodeFunctionData(functionFragment: 'recoverERC20', values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: 'removeIncentiveToken', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'rewardPerToken', values?: undefined): string; encodeFunctionData(functionFragment: 'rewardPerTokenStored', values?: undefined): string; encodeFunctionData(functionFragment: 'rewardRate', values?: undefined): string; encodeFunctionData(functionFragment: 'rewards', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'rewardsDuration', values?: undefined): string; encodeFunctionData(functionFragment: 'setDistributor', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'setMaxIncentiveTokensCount', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'setOperator', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'setRewardsDuration', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'stake', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string; encodeFunctionData(functionFragment: 'undistributedRewards', values?: undefined): string; encodeFunctionData(functionFragment: 'unpause', values?: undefined): string; encodeFunctionData(functionFragment: 'updateIncentiveManager', values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: 'userRewardPerTokenPaid', values: [AddressLike]): string; encodeFunctionData(functionFragment: 'whitelistIncentiveToken', values: [AddressLike, BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: 'withdraw', values: [BigNumberish]): string; decodeFunctionResult(functionFragment: 'addIncentive', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'delegateStake', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'delegateWithdraw', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'distributor', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'earned', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'exit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getDelegateStake', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getReward', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getRewardForDuration', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getTotalDelegateStaked', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getWhitelistedTokens', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getWhitelistedTokensCount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'lastTimeRewardApplicable', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'lastUpdateTime', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'notifyRewardAmount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'operator', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'pause', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'periodFinish', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'recoverERC20', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'removeIncentiveToken', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'rewardPerToken', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'rewardPerTokenStored', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'rewardRate', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'rewards', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'rewardsDuration', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setDistributor', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setMaxIncentiveTokensCount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setOperator', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setRewardsDuration', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'stake', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'undistributedRewards', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'unpause', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'updateIncentiveManager', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'userRewardPerTokenPaid', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'whitelistIncentiveToken', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; } export declare namespace DelegateStakedEvent { type InputTuple = [ account: AddressLike, delegate: AddressLike, amount: BigNumberish ]; type OutputTuple = [account: string, delegate: string, amount: bigint]; interface OutputObject { account: string; delegate: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace DelegateWithdrawnEvent { type InputTuple = [ account: AddressLike, delegate: AddressLike, amount: BigNumberish ]; type OutputTuple = [account: string, delegate: string, amount: bigint]; interface OutputObject { account: string; delegate: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace DistributorSetEvent { type InputTuple = [distributor: AddressLike]; type OutputTuple = [distributor: string]; interface OutputObject { distributor: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace IncentiveAddedEvent { type InputTuple = [ token: AddressLike, sender: AddressLike, amount: BigNumberish, incentiveRate: BigNumberish ]; type OutputTuple = [ token: string, sender: string, amount: bigint, incentiveRate: bigint ]; interface OutputObject { token: string; sender: string; amount: bigint; incentiveRate: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace IncentiveManagerChangedEvent { type InputTuple = [ token: AddressLike, newManager: AddressLike, oldManager: AddressLike ]; type OutputTuple = [ token: string, newManager: string, oldManager: string ]; interface OutputObject { token: string; newManager: string; oldManager: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace IncentiveTokenRemovedEvent { type InputTuple = [token: AddressLike]; type OutputTuple = [token: string]; interface OutputObject { token: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace IncentiveTokenWhitelistedEvent { type InputTuple = [ token: AddressLike, minIncentiveRate: BigNumberish, manager: AddressLike ]; type OutputTuple = [ token: string, minIncentiveRate: bigint, manager: string ]; interface OutputObject { token: string; minIncentiveRate: bigint; manager: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace IncentivesProcessFailedEvent { type InputTuple = [ pubkey: BytesLike, token: AddressLike, bgtEmitted: BigNumberish, amount: BigNumberish ]; type OutputTuple = [ pubkey: string, token: string, bgtEmitted: bigint, amount: bigint ]; interface OutputObject { pubkey: string; token: string; bgtEmitted: bigint; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace IncentivesProcessedEvent { type InputTuple = [ pubkey: BytesLike, token: AddressLike, bgtEmitted: BigNumberish, amount: BigNumberish ]; type OutputTuple = [ pubkey: string, token: string, bgtEmitted: bigint, amount: bigint ]; interface OutputObject { pubkey: string; token: string; bgtEmitted: bigint; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MaxIncentiveTokensCountUpdatedEvent { type InputTuple = [maxIncentiveTokensCount: BigNumberish]; type OutputTuple = [maxIncentiveTokensCount: bigint]; interface OutputObject { maxIncentiveTokensCount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OperatorSetEvent { type InputTuple = [account: AddressLike, operator: AddressLike]; type OutputTuple = [account: string, operator: string]; interface OutputObject { account: string; operator: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RecoveredEvent { type InputTuple = [token: AddressLike, amount: BigNumberish]; type OutputTuple = [token: string, amount: bigint]; interface OutputObject { token: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RewardAddedEvent { type InputTuple = [reward: BigNumberish]; type OutputTuple = [reward: bigint]; interface OutputObject { reward: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RewardPaidEvent { type InputTuple = [ account: AddressLike, to: AddressLike, reward: BigNumberish ]; type OutputTuple = [account: string, to: string, reward: bigint]; interface OutputObject { account: string; to: string; reward: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RewardsDurationUpdatedEvent { type InputTuple = [newDuration: BigNumberish]; type OutputTuple = [newDuration: bigint]; interface OutputObject { newDuration: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace StakedEvent { type InputTuple = [account: AddressLike, amount: BigNumberish]; type OutputTuple = [account: string, amount: bigint]; interface OutputObject { account: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawnEvent { type InputTuple = [account: AddressLike, amount: BigNumberish]; type OutputTuple = [account: string, amount: bigint]; interface OutputObject { account: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IRewardVault extends BaseContract { connect(runner?: ContractRunner | null): IRewardVault; waitForDeployment(): Promise; interface: IRewardVaultInterface; 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; addIncentive: TypedContractMethod<[ token: AddressLike, amount: BigNumberish, incentiveRate: BigNumberish ], [ void ], 'nonpayable'>; balanceOf: TypedContractMethod<[account: AddressLike], [bigint], 'view'>; delegateStake: TypedContractMethod<[ account: AddressLike, amount: BigNumberish ], [ void ], 'nonpayable'>; delegateWithdraw: TypedContractMethod<[ account: AddressLike, amount: BigNumberish ], [ void ], 'nonpayable'>; distributor: TypedContractMethod<[], [string], 'view'>; earned: TypedContractMethod<[account: AddressLike], [bigint], 'view'>; exit: TypedContractMethod<[recipient: AddressLike], [void], 'nonpayable'>; getDelegateStake: TypedContractMethod<[ account: AddressLike, delegate: AddressLike ], [ bigint ], 'view'>; getReward: TypedContractMethod<[ account: AddressLike, recipient: AddressLike ], [ bigint ], 'nonpayable'>; getRewardForDuration: TypedContractMethod<[], [bigint], 'view'>; getTotalDelegateStaked: TypedContractMethod<[ account: AddressLike ], [ bigint ], 'view'>; getWhitelistedTokens: TypedContractMethod<[], [string[]], 'view'>; getWhitelistedTokensCount: TypedContractMethod<[], [bigint], 'view'>; initialize: TypedContractMethod<[ _berachef: AddressLike, _bgt: AddressLike, _distributor: AddressLike, _stakingToken: AddressLike, _initialOwner: AddressLike ], [ void ], 'nonpayable'>; lastTimeRewardApplicable: TypedContractMethod<[], [bigint], 'view'>; lastUpdateTime: TypedContractMethod<[], [bigint], 'view'>; notifyRewardAmount: TypedContractMethod<[ pubkey: BytesLike, reward: BigNumberish ], [ void ], 'nonpayable'>; operator: TypedContractMethod<[account: AddressLike], [string], 'view'>; pause: TypedContractMethod<[], [void], 'nonpayable'>; periodFinish: TypedContractMethod<[], [bigint], 'view'>; recoverERC20: TypedContractMethod<[ tokenAddress: AddressLike, tokenAmount: BigNumberish ], [ void ], 'nonpayable'>; removeIncentiveToken: TypedContractMethod<[ token: AddressLike ], [ void ], 'nonpayable'>; rewardPerToken: TypedContractMethod<[], [bigint], 'view'>; rewardPerTokenStored: TypedContractMethod<[], [bigint], 'view'>; rewardRate: TypedContractMethod<[], [bigint], 'view'>; rewards: TypedContractMethod<[account: AddressLike], [bigint], 'view'>; rewardsDuration: TypedContractMethod<[], [bigint], 'view'>; setDistributor: TypedContractMethod<[ _rewardDistribution: AddressLike ], [ void ], 'nonpayable'>; setMaxIncentiveTokensCount: TypedContractMethod<[ _maxIncentiveTokensCount: BigNumberish ], [ void ], 'nonpayable'>; setOperator: TypedContractMethod<[ _operator: AddressLike ], [ void ], 'nonpayable'>; setRewardsDuration: TypedContractMethod<[ _rewardsDuration: BigNumberish ], [ void ], 'nonpayable'>; stake: TypedContractMethod<[amount: BigNumberish], [void], 'nonpayable'>; totalSupply: TypedContractMethod<[], [bigint], 'view'>; undistributedRewards: TypedContractMethod<[], [bigint], 'view'>; unpause: TypedContractMethod<[], [void], 'nonpayable'>; updateIncentiveManager: TypedContractMethod<[ token: AddressLike, newManager: AddressLike ], [ void ], 'nonpayable'>; userRewardPerTokenPaid: TypedContractMethod<[ account: AddressLike ], [ bigint ], 'view'>; whitelistIncentiveToken: TypedContractMethod<[ token: AddressLike, minIncentiveRate: BigNumberish, manager: AddressLike ], [ void ], 'nonpayable'>; withdraw: TypedContractMethod<[amount: BigNumberish], [void], 'nonpayable'>; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: 'addIncentive'): TypedContractMethod<[ token: AddressLike, amount: BigNumberish, incentiveRate: BigNumberish ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'balanceOf'): TypedContractMethod<[account: AddressLike], [bigint], 'view'>; getFunction(nameOrSignature: 'delegateStake'): TypedContractMethod<[ account: AddressLike, amount: BigNumberish ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'delegateWithdraw'): TypedContractMethod<[ account: AddressLike, amount: BigNumberish ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'distributor'): TypedContractMethod<[], [string], 'view'>; getFunction(nameOrSignature: 'earned'): TypedContractMethod<[account: AddressLike], [bigint], 'view'>; getFunction(nameOrSignature: 'exit'): TypedContractMethod<[recipient: AddressLike], [void], 'nonpayable'>; getFunction(nameOrSignature: 'getDelegateStake'): TypedContractMethod<[ account: AddressLike, delegate: AddressLike ], [ bigint ], 'view'>; getFunction(nameOrSignature: 'getReward'): TypedContractMethod<[ account: AddressLike, recipient: AddressLike ], [ bigint ], 'nonpayable'>; getFunction(nameOrSignature: 'getRewardForDuration'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'getTotalDelegateStaked'): TypedContractMethod<[account: AddressLike], [bigint], 'view'>; getFunction(nameOrSignature: 'getWhitelistedTokens'): TypedContractMethod<[], [string[]], 'view'>; getFunction(nameOrSignature: 'getWhitelistedTokensCount'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'initialize'): TypedContractMethod<[ _berachef: AddressLike, _bgt: AddressLike, _distributor: AddressLike, _stakingToken: AddressLike, _initialOwner: AddressLike ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'lastTimeRewardApplicable'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'lastUpdateTime'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'notifyRewardAmount'): TypedContractMethod<[ pubkey: BytesLike, reward: BigNumberish ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'operator'): TypedContractMethod<[account: AddressLike], [string], 'view'>; getFunction(nameOrSignature: 'pause'): TypedContractMethod<[], [void], 'nonpayable'>; getFunction(nameOrSignature: 'periodFinish'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'recoverERC20'): TypedContractMethod<[ tokenAddress: AddressLike, tokenAmount: BigNumberish ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'removeIncentiveToken'): TypedContractMethod<[token: AddressLike], [void], 'nonpayable'>; getFunction(nameOrSignature: 'rewardPerToken'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'rewardPerTokenStored'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'rewardRate'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'rewards'): TypedContractMethod<[account: AddressLike], [bigint], 'view'>; getFunction(nameOrSignature: 'rewardsDuration'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'setDistributor'): TypedContractMethod<[ _rewardDistribution: AddressLike ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'setMaxIncentiveTokensCount'): TypedContractMethod<[ _maxIncentiveTokensCount: BigNumberish ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'setOperator'): TypedContractMethod<[_operator: AddressLike], [void], 'nonpayable'>; getFunction(nameOrSignature: 'setRewardsDuration'): TypedContractMethod<[ _rewardsDuration: BigNumberish ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'stake'): TypedContractMethod<[amount: BigNumberish], [void], 'nonpayable'>; getFunction(nameOrSignature: 'totalSupply'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'undistributedRewards'): TypedContractMethod<[], [bigint], 'view'>; getFunction(nameOrSignature: 'unpause'): TypedContractMethod<[], [void], 'nonpayable'>; getFunction(nameOrSignature: 'updateIncentiveManager'): TypedContractMethod<[ token: AddressLike, newManager: AddressLike ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'userRewardPerTokenPaid'): TypedContractMethod<[account: AddressLike], [bigint], 'view'>; getFunction(nameOrSignature: 'whitelistIncentiveToken'): TypedContractMethod<[ token: AddressLike, minIncentiveRate: BigNumberish, manager: AddressLike ], [ void ], 'nonpayable'>; getFunction(nameOrSignature: 'withdraw'): TypedContractMethod<[amount: BigNumberish], [void], 'nonpayable'>; getEvent(key: 'DelegateStaked'): TypedContractEvent; getEvent(key: 'DelegateWithdrawn'): TypedContractEvent; getEvent(key: 'DistributorSet'): TypedContractEvent; getEvent(key: 'IncentiveAdded'): TypedContractEvent; getEvent(key: 'IncentiveManagerChanged'): TypedContractEvent; getEvent(key: 'IncentiveTokenRemoved'): TypedContractEvent; getEvent(key: 'IncentiveTokenWhitelisted'): TypedContractEvent; getEvent(key: 'IncentivesProcessFailed'): TypedContractEvent; getEvent(key: 'IncentivesProcessed'): TypedContractEvent; getEvent(key: 'MaxIncentiveTokensCountUpdated'): TypedContractEvent; getEvent(key: 'OperatorSet'): TypedContractEvent; getEvent(key: 'Recovered'): TypedContractEvent; getEvent(key: 'RewardAdded'): TypedContractEvent; getEvent(key: 'RewardPaid'): TypedContractEvent; getEvent(key: 'RewardsDurationUpdated'): TypedContractEvent; getEvent(key: 'Staked'): TypedContractEvent; getEvent(key: 'Withdrawn'): TypedContractEvent; filters: { 'DelegateStaked(address,address,uint256)': TypedContractEvent; DelegateStaked: TypedContractEvent; 'DelegateWithdrawn(address,address,uint256)': TypedContractEvent; DelegateWithdrawn: TypedContractEvent; 'DistributorSet(address)': TypedContractEvent; DistributorSet: TypedContractEvent; 'IncentiveAdded(address,address,uint256,uint256)': TypedContractEvent; IncentiveAdded: TypedContractEvent; 'IncentiveManagerChanged(address,address,address)': TypedContractEvent; IncentiveManagerChanged: TypedContractEvent; 'IncentiveTokenRemoved(address)': TypedContractEvent; IncentiveTokenRemoved: TypedContractEvent; 'IncentiveTokenWhitelisted(address,uint256,address)': TypedContractEvent; IncentiveTokenWhitelisted: TypedContractEvent; 'IncentivesProcessFailed(bytes,address,uint256,uint256)': TypedContractEvent; IncentivesProcessFailed: TypedContractEvent; 'IncentivesProcessed(bytes,address,uint256,uint256)': TypedContractEvent; IncentivesProcessed: TypedContractEvent; 'MaxIncentiveTokensCountUpdated(uint8)': TypedContractEvent; MaxIncentiveTokensCountUpdated: TypedContractEvent; 'OperatorSet(address,address)': TypedContractEvent; OperatorSet: TypedContractEvent; 'Recovered(address,uint256)': TypedContractEvent; Recovered: TypedContractEvent; 'RewardAdded(uint256)': TypedContractEvent; RewardAdded: TypedContractEvent; 'RewardPaid(address,address,uint256)': TypedContractEvent; RewardPaid: TypedContractEvent; 'RewardsDurationUpdated(uint256)': TypedContractEvent; RewardsDurationUpdated: TypedContractEvent; 'Staked(address,uint256)': TypedContractEvent; Staked: TypedContractEvent; 'Withdrawn(address,uint256)': TypedContractEvent; Withdrawn: TypedContractEvent; }; } //# sourceMappingURL=IRewardVault.d.ts.map