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 { GetDisplayPropsParams, GetTokenBalancesParams, GetTokenDefinitionsParams, UnderlyingTokenDefinition } from '../../../position/template/contract-position.template.types';
import { BeefyBoostVaultDefinitionsResolver } from '../common/beefy.boost-vault.definition-resolver';
import { BeefyBoostVault, BeefyContractFactory } from '../contracts';
export declare type BeefyBoostVaultDefinition = {
    address: string;
    underlyingTokenAddress: string;
    rewardTokenAddress: string;
};
export declare abstract class BeefyBoostVaultContractPositionFetcher extends ContractPositionTemplatePositionFetcher<BeefyBoostVault, DefaultDataProps, BeefyBoostVaultDefinition> {
    protected readonly appToolkit: IAppToolkit;
    private readonly boostDefinitionsResolver;
    protected readonly contractFactory: BeefyContractFactory;
    constructor(appToolkit: IAppToolkit, boostDefinitionsResolver: BeefyBoostVaultDefinitionsResolver, contractFactory: BeefyContractFactory);
    getContract(address: string): BeefyBoostVault;
    getDefinitions(): Promise<BeefyBoostVaultDefinition[]>;
    getTokenDefinitions({ definition, }: GetTokenDefinitionsParams<BeefyBoostVault, BeefyBoostVaultDefinition>): Promise<UnderlyingTokenDefinition[]>;
    getLabel({ contractPosition }: GetDisplayPropsParams<BeefyBoostVault>): Promise<string>;
    getTokenBalancesPerPosition({ address, contract }: GetTokenBalancesParams<BeefyBoostVault>): Promise<import("ethers").BigNumber[]>;
}
