import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { StatsItem } from '../../../position/display.interface';
import { RawTokenBalance } from '../../../position/position-balance.interface';
import { AppTokenTemplatePositionFetcher } from '../../../position/template/app-token.template.position-fetcher';
import { GetDataPropsParams, GetDisplayPropsParams, GetUnderlyingTokensParams } from '../../../position/template/app-token.template.types';
import { MeshswapContractFactory, MeshswapSinglePool } from '../contracts';
export declare type MeshswapContractPositionDataProps = {
    liquidity: number;
    exchangeRate: number;
};
export declare class PolygonMeshswapSupplyTokenFetcher extends AppTokenTemplatePositionFetcher<MeshswapSinglePool> {
    protected readonly appToolkit: IAppToolkit;
    private readonly contractFactory;
    groupLabel: string;
    constructor(appToolkit: IAppToolkit, contractFactory: MeshswapContractFactory);
    getContract(address: string): MeshswapSinglePool;
    getAddresses(): Promise<string[]>;
    getUnderlyingTokenDefinitions({ contract }: GetUnderlyingTokensParams<MeshswapSinglePool>): Promise<{
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getPricePerShare(): Promise<number[]>;
    getLabel({ contract }: GetDisplayPropsParams<MeshswapSinglePool>): Promise<string>;
    getLiquidity({ appToken, contract }: GetDataPropsParams<MeshswapSinglePool>): Promise<number>;
    getDataProps(params: GetDataPropsParams<MeshswapSinglePool>): Promise<{
        liquidity: number;
        reserves: number[];
        apy: number;
        exchangeRate: number;
    }>;
    getStatsItems({ appToken }: GetDisplayPropsParams<MeshswapSinglePool>): Promise<StatsItem[] | undefined>;
    getRawBalances(address: string): Promise<RawTokenBalance[]>;
}
