import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { AppTokenTemplatePositionFetcher } from '../../../position/template/app-token.template.position-fetcher';
import { DefaultAppTokenDataProps, GetDefinitionsParams, GetAddressesParams, GetUnderlyingTokensParams, GetDisplayPropsParams } from '../../../position/template/app-token.template.types';
import { AuraContractFactory, AuraDepositToken } from '../contracts';
declare type AuraDepositTokenDefinition = {
    address: string;
    poolIndex: number;
    booster: string;
};
export declare class EthereumAuraDepositTokenFetcher extends AppTokenTemplatePositionFetcher<AuraDepositToken, DefaultAppTokenDataProps, AuraDepositTokenDefinition> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: AuraContractFactory;
    groupLabel: string;
    BOOSTER_V1_ADDRESS: string;
    BOOSTER_V2_ADDRESS: string;
    constructor(appToolkit: IAppToolkit, contractFactory: AuraContractFactory);
    getContract(address: string): AuraDepositToken;
    getDefinitions({ multicall }: GetDefinitionsParams): Promise<AuraDepositTokenDefinition[]>;
    getAddresses({ definitions }: GetAddressesParams): Promise<string[]>;
    getUnderlyingTokenDefinitions({ definition, }: GetUnderlyingTokensParams<AuraDepositToken, AuraDepositTokenDefinition>): Promise<{
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getPricePerShare(): Promise<number[]>;
    getLabel({ appToken }: GetDisplayPropsParams<AuraDepositToken, DefaultAppTokenDataProps>): Promise<string>;
    getTertiaryLabel(params: GetDisplayPropsParams<AuraDepositToken, DefaultAppTokenDataProps, AuraDepositTokenDefinition>): Promise<string | number | import("../../../position/display.interface").DollarDisplayItem | import("../../../position/display.interface").PercentageDisplayItem | undefined>;
}
export {};
