import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { AppTokenTemplatePositionFetcher } from '../../../position/template/app-token.template.position-fetcher';
import { DefaultAppTokenDataProps, GetAddressesParams, GetDataPropsParams, GetDefinitionsParams, GetDisplayPropsParams, GetPriceParams } from '../../../position/template/app-token.template.types';
import { PendleV2ContractFactory, StandardizedYield } from '../contracts';
export declare type PendleV2StandardizedYieldTokenDefinition = {
    address: string;
    icon: string;
    name: string;
    price: number;
    underlyingApy: number;
};
export declare type PendleV2StandardizedYieldTokenDataProps = DefaultAppTokenDataProps & PendleV2StandardizedYieldTokenDefinition;
export declare abstract class PendleV2StandardizedYieldTokenFetcher extends AppTokenTemplatePositionFetcher<StandardizedYield, PendleV2StandardizedYieldTokenDataProps, PendleV2StandardizedYieldTokenDefinition> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly pendleV2ContractFactory: PendleV2ContractFactory;
    groupLabel: string;
    constructor(appToolkit: IAppToolkit, pendleV2ContractFactory: PendleV2ContractFactory);
    getContract(address: string): StandardizedYield;
    getDefinitions(_params: GetDefinitionsParams): Promise<PendleV2StandardizedYieldTokenDefinition[]>;
    getAddresses({ definitions }: GetAddressesParams): Promise<string[]>;
    getUnderlyingTokenDefinitions(): Promise<never[]>;
    getPricePerShare(): Promise<number[]>;
    getPrice({ definition, }: GetPriceParams<StandardizedYield, PendleV2StandardizedYieldTokenDataProps, PendleV2StandardizedYieldTokenDefinition>): Promise<number>;
    getApy({ definition, }: GetDataPropsParams<StandardizedYield, PendleV2StandardizedYieldTokenDataProps, PendleV2StandardizedYieldTokenDefinition>): Promise<number>;
    getLabel({ definition, }: GetDisplayPropsParams<StandardizedYield, PendleV2StandardizedYieldTokenDataProps, PendleV2StandardizedYieldTokenDefinition>): Promise<string>;
    getImages({ definition, }: GetDisplayPropsParams<StandardizedYield, PendleV2StandardizedYieldTokenDataProps, PendleV2StandardizedYieldTokenDefinition>): Promise<string[]>;
    getDataProps(params: GetDataPropsParams<StandardizedYield, PendleV2StandardizedYieldTokenDataProps, PendleV2StandardizedYieldTokenDefinition>): Promise<PendleV2StandardizedYieldTokenDataProps>;
}
