import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { RariFuseSupplyTokenFetcher } from '../common/rari-fuse.supply.token-fetcher';
import { RariFuseComptroller, RariFuseContractFactory, RariFusePoolLens, RariFusePoolsDirectory, RariFuseToken } from '../contracts';
export declare class EthereumRariFuseSupplyTokenFetcher extends RariFuseSupplyTokenFetcher<RariFusePoolsDirectory, RariFuseComptroller, RariFuseToken, RariFusePoolLens> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: RariFuseContractFactory;
    groupLabel: string;
    poolDirectoryAddress: string;
    lensAddress: string;
    constructor(appToolkit: IAppToolkit, contractFactory: RariFuseContractFactory);
    getPoolDirectoryContract(address: string): RariFusePoolsDirectory;
    getComptrollerContract(address: string): RariFuseComptroller;
    getTokenContract(address: string): RariFuseToken;
    getLensContract(address: string): RariFusePoolLens;
    getPools(contract: RariFusePoolsDirectory): Promise<{
        name: string;
        comptroller: string;
    }[]>;
    getMarketTokenAddresses(contract: RariFuseComptroller): Promise<string[]>;
    getUnderlyingTokenAddress(contract: RariFuseToken): Promise<string>;
    getExchangeRateCurrent(contract: RariFuseToken): Promise<BigNumberish>;
    getSupplyRateRaw(contract: RariFuseToken): Promise<BigNumberish>;
    getPoolsBySupplier(address: string, contract: RariFusePoolLens): Promise<[import("ethers").BigNumber[], import("../contracts/ethers/RariFusePoolLens").FusePoolDirectory.FusePoolStructOutput[]]>;
}
