import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { DisplayProps } from '../../../position/display.interface';
import { AppTokenTemplatePositionFetcher } from '../../../position/template/app-token.template.position-fetcher';
import { DefaultAppTokenDataProps, DefaultAppTokenDefinition, GetAddressesParams, GetDataPropsParams, GetDefinitionsParams, GetDisplayPropsParams, GetPricePerShareParams, GetUnderlyingTokensParams } from '../../../position/template/app-token.template.types';
import { TarotBorrowable, TarotContractFactory } from '../contracts';
declare type TarotSupplyDataProps = DefaultAppTokenDataProps & {
    poolTokenLabel: string;
};
declare type Definition = DefaultAppTokenDefinition & {
    poolTokenAddress: string;
    poolTokenLabel: string;
};
export declare class FantomTarotSupplyTokenFetcher extends AppTokenTemplatePositionFetcher<TarotBorrowable, TarotSupplyDataProps, Definition> {
    readonly appToolkit: IAppToolkit;
    private readonly contractFactory;
    groupLabel: string;
    isExcludedFromExplore: boolean;
    private tarotFactoryAddresses;
    constructor(appToolkit: IAppToolkit, contractFactory: TarotContractFactory);
    getContract(address: string): TarotBorrowable;
    private getPoolTokenAddress;
    getDefinitions({ multicall, tokenLoader }: GetDefinitionsParams): Promise<Definition[]>;
    getAddresses({ definitions }: GetAddressesParams): Promise<string[]>;
    getUnderlyingTokenDefinitions({ contract }: GetUnderlyingTokensParams<TarotBorrowable, Definition>): Promise<{
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getPricePerShare({ contract, appToken }: GetPricePerShareParams<TarotBorrowable>): Promise<number[]>;
    getLabel({ appToken, }: GetDisplayPropsParams<TarotBorrowable, TarotSupplyDataProps>): Promise<DisplayProps['label']>;
    getDataProps(params: GetDataPropsParams<TarotBorrowable, TarotSupplyDataProps, Definition>): Promise<{
        poolTokenLabel: string;
        liquidity: number;
        reserves: number[];
        apy: number;
    }>;
}
export {};
