import { BigNumber } from 'bignumber.js';
import { Tx } from '.';
export interface IUnlockTime {
    unlockWithdraw: Date;
    unlockBuyTokens: Date;
    unlockRebalance: Date;
}
export interface IOlympusIndexPartial {
    getTokenWithWeights(): Promise<{
        tokenAddresses: string[];
        weights: BigNumber[];
    }>;
    getTokensWithBalance(): Promise<{
        tokenAddresses: string[];
        balances: BigNumber[];
    }>;
    configFrequency(index: {
        buyTokensFrequencyInDays: number;
        redeemFrequencyInDays: number;
        rebalanceFrequencyInDays: number;
    }, gasPrice?: number): Promise<Tx>;
    getUnlockTime(): Promise<IUnlockTime | null>;
    initializeIndex(address: string, index: {
        rebalanceDeltaPercentage: number;
        managementFee: number;
    }, initialEth: number, gasPrice?: number): Promise<Tx>;
}
