import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { MetaType } from '../../../position/position.interface';
import { DefaultDataProps } from '../../../position/display.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { DefaultContractPositionDefinition, GetTokenDefinitionsParams, GetDisplayPropsParams, GetTokenBalancesParams } from '../../../position/template/contract-position.template.types';
import { StakedRsr } from '../contracts/ethers/StakedRsr';
import { ReserveProtocolContractFactory } from '../contracts';
export declare type StakedRsrDataProps = DefaultDataProps & {
    inCoolDownTotalBalance: number;
};
export declare class EthereumReserveProtocolCooldownContractPositionFetcher extends ContractPositionTemplatePositionFetcher<StakedRsr> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: ReserveProtocolContractFactory;
    groupLabel: string;
    constructor(appToolkit: IAppToolkit, contractFactory: ReserveProtocolContractFactory);
    getContract(address: string): StakedRsr;
    getDefinitions(): Promise<DefaultContractPositionDefinition[]>;
    getTokenDefinitions({ definition }: GetTokenDefinitionsParams<StakedRsr>): Promise<{
        metaType: MetaType;
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getLabel({ contractPosition }: GetDisplayPropsParams<StakedRsr>): Promise<string>;
    getTokenBalancesPerPosition({ address, contract }: GetTokenBalancesParams<StakedRsr>): Promise<BigNumberish[]>;
}
