import { Contract } from 'ethers/lib/ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { DefaultDataProps } from '../../../position/display.interface';
import { ContractPositionBalance, RawContractPositionBalance } from '../../../position/position-balance.interface';
import { MetaType } from '../../../position/position.interface';
import { GetTokenDefinitionsParams } from '../../../position/template/contract-position.template.types';
import { CustomContractPositionTemplatePositionFetcher } from '../../../position/template/custom-contract-position.template.position-fetcher';
import { RamsesContractFactory } from '../contracts';
export declare abstract class VotingRewardsContractPositionFetcher<T extends Contract> extends CustomContractPositionTemplatePositionFetcher<T> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: RamsesContractFactory;
    veTokenAddress: string;
    constructor(appToolkit: IAppToolkit, contractFactory: RamsesContractFactory);
    getTokenDefinitions({ contract }: GetTokenDefinitionsParams<T>): Promise<{
        metaType: MetaType;
        address: any;
        network: import("../../../types").Network;
    }[]>;
    getTokenBalancesPerPosition(): never;
    getBalances(address: string): Promise<ContractPositionBalance<DefaultDataProps>[]>;
    getRawBalances(address: string): Promise<RawContractPositionBalance[]>;
}
