import { Erc20 } from '../../../contract/contracts';
import { AppTokenTemplatePositionFetcher } from '../../../position/template/app-token.template.position-fetcher';
import { DefaultAppTokenDataProps, GetAddressesParams, GetDataPropsParams, GetUnderlyingTokensParams } from '../../../position/template/app-token.template.types';
export declare type PlutusVaultAppTokenDefinition = {
    address: string;
    underlyingTokenAddress: string;
};
export declare class ArbitrumPlutusVaultTokenFetcher extends AppTokenTemplatePositionFetcher<Erc20, DefaultAppTokenDataProps, PlutusVaultAppTokenDefinition> {
    groupLabel: string;
    getContract(address: string): Erc20;
    getDefinitions(): Promise<PlutusVaultAppTokenDefinition[]>;
    getAddresses({ definitions }: GetAddressesParams<PlutusVaultAppTokenDefinition>): Promise<string[]>;
    getUnderlyingTokenDefinitions({ definition }: GetUnderlyingTokensParams<Erc20, PlutusVaultAppTokenDefinition>): Promise<{
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getPricePerShare(): Promise<number[]>;
    getLiquidity({ appToken }: GetDataPropsParams<Erc20>): Promise<number>;
    getReserves({ appToken }: GetDataPropsParams<Erc20>): Promise<number[]>;
    getApy(): Promise<number>;
}
