import { BigNumber } from "ethers";
import { IonicBaseConstructor } from "..";
export declare function withConvertMantissa<TBase extends IonicBaseConstructor>(Base: TBase): {
    new (...args: any[]): {
        /**
         * Directly taken from the compound.finance docs:
         * https://compound.finance/docs#protocol-math
         */
        ratePerBlockToAPY(ratePerBlock: BigNumber, blocksPerMin: number): number;
        _provider: import("../IonicSdk").SupportedProvider;
        _signer: import("../IonicSdk").SupportedSigners | null;
        _contracts: import("../IonicSdk").StaticContracts | undefined;
        chainConfig: import("@ionicprotocol/types").ChainConfig;
        availableOracles: string[];
        chainId: import("@ionicprotocol/types").SupportedChains;
        chainDeployment: import("@ionicprotocol/types").ChainDeployment;
        chainSpecificAddresses: import("@ionicprotocol/types").ChainAddresses;
        chainSpecificParams: import("@ionicprotocol/types").ChainParams;
        deployedPlugins: import("@ionicprotocol/types").DeployedPlugins;
        marketToPlugin: Record<string, string>;
        liquidationConfig: import("..").ChainLiquidationConfig;
        supportedAssets: import("@ionicprotocol/types").SupportedAsset[];
        redemptionStrategies: import("@ionicprotocol/types").RedemptionStrategy[];
        fundingStrategies: import("@ionicprotocol/types").FundingStrategy[];
        logger: import("../IonicSdk").Logger;
        readonly provider: import("../IonicSdk").SupportedProvider;
        readonly signer: import("../IonicSdk").SupportedSigners;
        contracts: import("../IonicSdk").StaticContracts;
        setSigner(signer: import("ethers").Signer): any;
        removeSigner(provider: import("../IonicSdk").SupportedProvider): any;
        deployPool(poolName: string, enforceWhitelist: boolean, closeFactor: BigNumber, liquidationIncentive: BigNumber, priceOracle: string, whitelist: string[]): Promise<[string, string, string, (number | undefined)?]>;
        identifyInterestRateModel(interestRateModelAddress: string): Promise<import("@ionicprotocol/types").InterestRateModel>;
        getInterestRateModel(assetAddress: string): Promise<import("@ionicprotocol/types").InterestRateModel>;
        getPriceOracle(oracleAddress: string): string;
        getEIP20TokenInstance(address: string, signerOrProvider?: import("../IonicSdk").SignerOrProvider): import("../../typechain/EIP20Interface").EIP20Interface;
        getUnitrollerInstance(address: string, signerOrProvider?: import("../IonicSdk").SignerOrProvider): import("../../typechain/Unitroller").Unitroller;
        getPoolDirectoryInstance(signerOrProvider?: import("../IonicSdk").SignerOrProvider): import("ethers").Contract;
        getErc4626PluginInstance(address: string, signerOrProvider?: import("../IonicSdk").SignerOrProvider): import("../../typechain/IonicERC4626").IonicERC4626;
    };
} & TBase;
