import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { DisplayProps } from '../../../position/display.interface';
import { MetaType } from '../../../position/position.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { GetDisplayPropsParams, GetTokenBalancesParams } from '../../../position/template/contract-position.template.types';
import { AaveStakedTokenIncentivesController, AaveV2ContractFactory } from '../contracts';
export declare type AaveV2ClaimableDataProps = {
    incentivesControllerAddress: string;
    protocolDataProviderAddress: string;
};
export declare abstract class AaveV2ClaimablePositionFetcher extends ContractPositionTemplatePositionFetcher<AaveStakedTokenIncentivesController, AaveV2ClaimableDataProps> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: AaveV2ContractFactory;
    abstract incentivesControllerAddress: string;
    abstract protocolDataProviderAddress: string;
    abstract rewardTokenAddress: string;
    constructor(appToolkit: IAppToolkit, contractFactory: AaveV2ContractFactory);
    getDefinitions(): Promise<{
        address: string;
    }[]>;
    getTokenDefinitions(): Promise<{
        metaType: MetaType;
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getLabel(params: GetDisplayPropsParams<AaveStakedTokenIncentivesController, AaveV2ClaimableDataProps>): Promise<string>;
    getContract(address: string): AaveStakedTokenIncentivesController;
    getSecondaryLabel(params: GetDisplayPropsParams<AaveStakedTokenIncentivesController, AaveV2ClaimableDataProps>): Promise<DisplayProps['secondaryLabel']>;
    getDataProps(): Promise<AaveV2ClaimableDataProps>;
    getTokenBalancesPerPosition({ address, contractPosition, contract, multicall, }: GetTokenBalancesParams<AaveStakedTokenIncentivesController, AaveV2ClaimableDataProps>): Promise<BigNumberish[]>;
}
