import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { DefaultDataProps } from '../../../position/display.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { GetTokenDefinitionsParams, UnderlyingTokenDefinition, GetTokenBalancesParams } from '../../../position/template/contract-position.template.types';
import { Beanstalk, BeanstalkContractFactory } from '../contracts';
export declare type BeanstalkSiloEarnedContractPositionDefinition = {
    address: string;
    underlyingTokenAddress: string;
};
export declare class EthereumBeanstalkSiloEarnedContractPositionFetcher extends ContractPositionTemplatePositionFetcher<Beanstalk, DefaultDataProps, BeanstalkSiloEarnedContractPositionDefinition> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly beanstalkContractFactory: BeanstalkContractFactory;
    groupLabel: string;
    isExcludedFromExplore: boolean;
    constructor(appToolkit: IAppToolkit, beanstalkContractFactory: BeanstalkContractFactory);
    getContract(address: string): Beanstalk;
    getDefinitions(): Promise<BeanstalkSiloEarnedContractPositionDefinition[]>;
    getTokenDefinitions({ definition, }: GetTokenDefinitionsParams<Beanstalk, BeanstalkSiloEarnedContractPositionDefinition>): Promise<UnderlyingTokenDefinition[]>;
    getLabel(): Promise<string>;
    getTokenBalancesPerPosition({ address, contract }: GetTokenBalancesParams<Beanstalk>): Promise<BigNumberish[]>;
}
