import 'moment-duration-format';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { Erc20 } from '../../../contract/contracts';
import { AppTokenTemplatePositionFetcher } from '../../../position/template/app-token.template.position-fetcher';
import { DefaultAppTokenDataProps, DefaultAppTokenDefinition, GetAddressesParams, GetPricePerShareParams, GetUnderlyingTokensParams, UnderlyingTokenDefinition } from '../../../position/template/app-token.template.types';
import { MetavaultTradeContractFactory } from '../contracts';
export declare type MetavaultTradeMvlpTokenDefinition = {
    address: string;
    vaultAddress: string;
    underlyingTokenAddresses: string[];
};
export declare class PolygonMetavaultTradeMvlpTokenFetcher extends AppTokenTemplatePositionFetcher<Erc20, DefaultAppTokenDataProps, MetavaultTradeMvlpTokenDefinition> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: MetavaultTradeContractFactory;
    groupLabel: string;
    mvlpManagerAddress: string;
    constructor(appToolkit: IAppToolkit, contractFactory: MetavaultTradeContractFactory);
    getContract(address: string): Erc20;
    getDefinitions(): Promise<MetavaultTradeMvlpTokenDefinition[]>;
    getAddresses({ definitions }: GetAddressesParams<DefaultAppTokenDefinition>): Promise<string[]>;
    getUnderlyingTokenDefinitions({ definition, }: GetUnderlyingTokensParams<Erc20, MetavaultTradeMvlpTokenDefinition>): Promise<UnderlyingTokenDefinition[]>;
    getPricePerShare({ appToken, definition, multicall, }: GetPricePerShareParams<Erc20, DefaultAppTokenDataProps, MetavaultTradeMvlpTokenDefinition>): Promise<number[]>;
}
