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