import { BlockchainName } from '../../core/blockchain/models/blockchain-name';
import { Token } from '../../core/blockchain/tokens/token';
import { SwapManagerCalculationOptions } from './models/swap-manager-calculation-options';
import { TypedTradeProviders } from './models/typed-trade-provider';
import { InstantTrade } from '..';
import { MarkRequired } from 'ts-essentials';
export declare type RequiredSwapManagerCalculationOptions = MarkRequired<SwapManagerCalculationOptions, 'timeout' | 'disabledProviders'>;
export declare class InstantTradesManager {
    static readonly defaultCalculationTimeout = 3000;
    private static getFullOptions;
    private tradeProviders;
    readonly blockchainTradeProviders: Readonly<Record<BlockchainName, Partial<TypedTradeProviders>>>;
    calculateTrade(fromToken: Token | {
        address: string;
        blockchain: BlockchainName;
    }, fromAmount: string | number, toToken: Token | string, options?: SwapManagerCalculationOptions): Promise<InstantTrade[]>;
    private calculateTradeFromTokens;
}
