import { ConfigOptions, ILogger } from './interfaces';
import { DerivativeFactory, DerivativeWhitelistedService, DerivativeWithdrawService, ERC20DerivativeService, ManagedDerivativeService, MotTaxableService, SellTokensOnCloseService, FundTradeService, IndexBuyTokenService, IndexRebalanceService, FutureManagementService, FutureMVPService } from './derivatives';
import { ERC20Service } from './services';
import { ERC721Service } from './services';
import { FutureERC721Service } from './services';
export * from './services/index';
export * from './derivatives';
export * from './utils/ProductABI';
export * from './interfaces';
export * from './index';
export * from './services';
export { BigNumber } from 'bignumber.js';
export declare class OlympusProtocolConnector {
    constructor(web3Url?: string, privateKey?: string, walletAddress?: string);
    readonly ConfigOptions: ConfigOptions;
    readonly DerivativeFactory: DerivativeFactory;
    static readonly ERCServices: {
        erc20Service: typeof ERC20Service;
        erc721Service: typeof ERC721Service;
        futureERC721Service: typeof FutureERC721Service;
    };
    static readonly DerivativeServices: {
        whitelist: typeof DerivativeWhitelistedService;
        withdraw: typeof DerivativeWithdrawService;
        erc20: typeof ERC20DerivativeService;
        managed: typeof ManagedDerivativeService;
        motTaxable: typeof MotTaxableService;
        sellTokensOnClose: typeof SellTokensOnCloseService;
        fundTrade: typeof FundTradeService;
        indexBuyToken: typeof IndexBuyTokenService;
        indexRebalance: typeof IndexRebalanceService;
        futureManagement: typeof FutureManagementService;
        futureMVPService: typeof FutureMVPService;
    };
    config(options: ConfigOptions): void;
    registerLogger(logger: ILogger): void;
}
/**
 * categorized export all ERCServices
 */
export declare const ERCServices: {
    erc20Service: typeof ERC20Service;
    erc721Service: typeof ERC721Service;
    futureERC721Service: typeof FutureERC721Service;
};
/**
 * categorized export all DerivativeServices
 */
export declare const DerivativeServices: {
    whitelist: typeof DerivativeWhitelistedService;
    withdraw: typeof DerivativeWithdrawService;
    erc20: typeof ERC20DerivativeService;
    managed: typeof ManagedDerivativeService;
    motTaxable: typeof MotTaxableService;
    sellTokensOnClose: typeof SellTokensOnCloseService;
    fundTrade: typeof FundTradeService;
    indexBuyToken: typeof IndexBuyTokenService;
    indexRebalance: typeof IndexRebalanceService;
    futureManagement: typeof FutureManagementService;
    futureMVPService: typeof FutureMVPService;
};
