import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { VotingEscrowWithRewardsTemplateContractPositionFetcher } from '../../../position/template/voting-escrow-with-rewards.template.contract-position-fetcher';
import { CurveContractFactory, CurveVotingEscrow, CurveVotingEscrowReward } from '../contracts';
export declare class EthereumCurveVotingEscrowContractPositionFetcher extends VotingEscrowWithRewardsTemplateContractPositionFetcher<CurveVotingEscrow, CurveVotingEscrowReward> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: CurveContractFactory;
    groupLabel: string;
    veTokenAddress: string;
    rewardAddress: string;
    constructor(appToolkit: IAppToolkit, contractFactory: CurveContractFactory);
    getEscrowContract(address: string): CurveVotingEscrow;
    getRewardContract(address: string): CurveVotingEscrowReward;
    getEscrowedTokenAddress(contract: CurveVotingEscrow): Promise<string>;
    getRewardTokenAddress(contract: CurveVotingEscrowReward): Promise<string>;
    getEscrowedTokenBalance(address: string, contract: CurveVotingEscrow): Promise<import("ethers").BigNumber>;
    getRewardTokenBalance(address: string, contract: CurveVotingEscrowReward): Promise<import("ethers").BigNumber>;
}
