import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { GetMasterChefDataPropsParams, GetMasterChefTokenBalancesParams, MasterChefTemplateContractPositionFetcher } from '../../../position/template/master-chef.template.contract-position-fetcher';
import { KyberswapClassicContractFactory, KyberSwapClassicMasterchef } from '../contracts';
export declare abstract class KyberSwapClassicFarmContractPositionFetcher extends MasterChefTemplateContractPositionFetcher<KyberSwapClassicMasterchef> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: KyberswapClassicContractFactory;
    constructor(appToolkit: IAppToolkit, contractFactory: KyberswapClassicContractFactory);
    getContract(address: string): KyberSwapClassicMasterchef;
    getPoolLength(contract: KyberSwapClassicMasterchef): Promise<import("ethers").BigNumber>;
    getStakedTokenAddress(contract: KyberSwapClassicMasterchef, poolIndex: number): Promise<string>;
    getRewardTokenAddress(contract: KyberSwapClassicMasterchef): Promise<string>;
    getTotalAllocPoints(_params: GetMasterChefDataPropsParams<KyberSwapClassicMasterchef>): Promise<number>;
    getPoolAllocPoints(_params: GetMasterChefDataPropsParams<KyberSwapClassicMasterchef>): Promise<number>;
    getTotalRewardRate({ contract, definition }: GetMasterChefDataPropsParams<KyberSwapClassicMasterchef>): Promise<import("ethers").BigNumber>;
    getStakedTokenBalance({ address, contract, contractPosition, }: GetMasterChefTokenBalancesParams<KyberSwapClassicMasterchef>): Promise<import("ethers").BigNumber>;
    getRewardTokenBalance({ address, contract, contractPosition, }: GetMasterChefTokenBalancesParams<KyberSwapClassicMasterchef>): Promise<import("ethers").BigNumber>;
}
