import { BigNumberish, BigNumber } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { RariFuseBorrowContractPositionFetcher } from '../common/rari-fuse.borrow.contract-position-fetcher';
import { RariFuseComptroller, RariFuseContractFactory, RariFusePoolLens, RariFusePoolsDirectory, RariFuseToken } from '../contracts';
export declare class EthereumRariFuseBorrowContractPositionFetcher extends RariFuseBorrowContractPositionFetcher<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>;
    getBorrowRateRaw(contract: RariFuseToken): Promise<BigNumberish>;
    getTotalBorrows(contract: RariFuseToken): Promise<BigNumberish>;
    getBorrowBalance(address: string, contract: RariFuseToken): Promise<BigNumberish>;
    getPoolsBySupplier(address: string, contract: RariFusePoolLens): Promise<[BigNumber[], {
        comptroller: string;
    }[]]>;
}
