/**
 * @file Fortress
 * @desc This file defines the constructor of the `Fortress` class.
 * @hidden
 */
import { ethers } from 'ethers';
import * as eth from './eth';
import * as util from './util';
import * as comp from './comp';
import * as api from './api';
import { Provider, CompoundOptions, CompoundInstance } from './types';
/**
 * Creates an instance of the Fortress.js SDK.
 *
 * @param {Provider | string} [provider] Optional Ethereum network provider.
 *     Defaults to Ethers.js fallback mainnet provider.
 * @param {object} [options] Optional provider options.
 *
 * @example
 * ```
 * var fortress = new Fortress(window.ethereum); // web browser
 *
 * var fortress = new Fortress('http://127.0.0.1:8545'); // HTTP provider
 *
 * var fortress = new Fortress(); // Uses Ethers.js fallback mainnet (for testing only)
 *
 * var fortress = new Fortress('testnet'); // Uses Ethers.js fallback (for testing only)
 *
 * // Init with private key (server side)
 * var fortress = new Fortress('https://mainnet.infura.io/v3/_your_project_id_', {
 *   privateKey: '0x_your_private_key_', // preferably with environment variable
 * });
 *
 * // Init with HD mnemonic (server side)
 * var fortress = new Fortress('mainnet' {
 *   mnemonic: 'clutch captain shoe...', // preferably with environment variable
 * });
 * ```
 *
 * @returns {object} Returns an instance of the Fortress.js SDK.
 */
declare const Fortress: {
    (provider?: Provider | string, options?: CompoundOptions): CompoundInstance;
    eth: typeof eth;
    api: typeof api;
    util: typeof util;
    _ethers: typeof ethers;
    decimals: {
        cBAT: number;
        cCOMP: number;
        cDAI: number;
        cETH: number;
        cREP: number;
        cSAI: number;
        cUNI: number;
        cUSDC: number;
        cUSDT: number;
        cWBTC: number;
        cZRX: number;
        BAT: number;
        COMP: number;
        REP: number;
        SAI: number;
        UNI: number;
        WBTC: number;
        ZRX: number;
        KNC: number;
        LINK: number;
        BTC: number;
        fBNB: number;
        fUSDC: number;
        fUSDT: number;
        fDAI: number;
        fBUSD: number;
        fBTC: number;
        fETH: number;
        fLTC: number;
        fXRP: number;
        fADA: number;
        fBETH: number;
        fDOT: number;
        fFTS: number;
        BNB: number;
        USDC: number;
        USDT: number;
        BUSD: number;
        DAI: number;
        BTCB: number;
        ETH: number;
        LTC: number;
        XRP: number;
        ADA: number;
        BETH: number;
        DOT: number;
        FTS: number;
    };
    fortress: {
        getFortressBalance: typeof comp.getFortressBalance;
        getFortressAccrued: typeof comp.getFortressAccrued;
    };
};
export = Fortress;
