///
import type BN from "bn.js";
import type { ContractOptions } from "web3-eth-contract";
import type { EventLog } from "web3-core";
import type { EventEmitter } from "events";
import type { Callback, NonPayableTransactionObject, BlockType, BaseContract } from "./types";
export interface EventOptions {
filter?: object;
fromBlock?: BlockType;
topics?: string[];
}
export interface IGmxRewardTracker extends BaseContract {
constructor(jsonInterface: any[], address?: string, options?: ContractOptions): IGmxRewardTracker;
clone(): IGmxRewardTracker;
methods: {
averageStakedAmounts(_account: string): NonPayableTransactionObject;
balanceOf(_account: string): NonPayableTransactionObject;
claim(_receiver: string): NonPayableTransactionObject;
claimForAccount(_account: string, _receiver: string): NonPayableTransactionObject;
claimable(_account: string): NonPayableTransactionObject;
cumulativeRewards(_account: string): NonPayableTransactionObject;
depositBalances(_account: string, _depositToken: string): NonPayableTransactionObject;
stake(_depositToken: string, _amount: number | string | BN): NonPayableTransactionObject;
stakeForAccount(_fundingAccount: string, _account: string, _depositToken: string, _amount: number | string | BN): NonPayableTransactionObject;
stakedAmounts(_account: string): NonPayableTransactionObject;
tokensPerInterval(): NonPayableTransactionObject;
totalSupply(): NonPayableTransactionObject;
unstake(_depositToken: string, _amount: number | string | BN): NonPayableTransactionObject;
unstakeForAccount(_account: string, _depositToken: string, _amount: number | string | BN, _receiver: string): NonPayableTransactionObject;
updateRewards(): NonPayableTransactionObject;
};
events: {
allEvents(options?: EventOptions, cb?: Callback): EventEmitter;
};
}