import { BigNumber, BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { MidasMarketTokenFetcher } from '../common/midas.market.token-fetcher';
import { MidasContractFactory, MidasCErc20Token, MidasPoolDirectory, MidasPoolLens } from '../contracts';
import { FusePoolDirectory } from '../contracts/ethers/MidasPoolDirectory';
export declare class BinanceSmartChainMidasMarketTokenFetcher extends MidasMarketTokenFetcher<MidasPoolDirectory, MidasCErc20Token, MidasPoolLens> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly midasContractFactory: MidasContractFactory;
    groupLabel: string;
    poolDirectoryAddress: string;
    poolLensAddress: string;
    constructor(appToolkit: IAppToolkit, midasContractFactory: MidasContractFactory);
    getPoolDirectoryContract(address: string): MidasPoolDirectory;
    getCTokenContract(address: string): MidasCErc20Token;
    getPoolLensContract(address: string): MidasPoolLens;
    getPools(contract: MidasPoolDirectory): Promise<[BigNumber[], FusePoolDirectory.FusePoolStructOutput[]]>;
    getPool(contract: MidasPoolDirectory, poolId: BigNumberish): Promise<[
        string,
        string,
        string,
        BigNumber,
        BigNumber
    ] & {
        name: string;
        creator: string;
        comptroller: string;
        blockPosted: BigNumber;
        timestampPosted: BigNumber;
    }>;
    getMarketTokenAddresses(contract: MidasPoolLens, poolAddress: string): Promise<string[]>;
    getUnderlyingTokenAddress(contract: MidasCErc20Token): Promise<string>;
    getExchangeRateCurrent(contract: MidasCErc20Token): Promise<BigNumberish>;
    getSupplyRateRaw(contract: MidasCErc20Token): Promise<BigNumberish>;
}
