import { CrossChainSupportedInstantTradeProvider } from './models/cross-chain-supported-instant-trade';
import { ProviderData } from '../../../models/provider-data';
import { BlockchainName, PriceToken, PriceTokenAmount, Token, Web3Public } from '../../../../../core';
import BigNumber from 'bignumber.js';
export declare abstract class CrossChainContractData {
    readonly providersData: ProviderData[];
    readonly blockchain: BlockchainName;
    readonly address: string;
    protected readonly web3Public: Web3Public;
    protected constructor(providersData: ProviderData[], blockchain: BlockchainName, address: string);
    getProvider(providerIndex: number): CrossChainSupportedInstantTradeProvider;
    abstract getNumOfBlockchain(): Promise<number>;
    abstract isPaused(): Promise<boolean>;
    abstract getTransitToken(from?: PriceToken): Promise<Token>;
    abstract getCryptoFeeToken(toContract: CrossChainContractData): Promise<PriceTokenAmount>;
    abstract getFeeInPercents(fromContract: CrossChainContractData): Promise<number>;
    abstract getMaxGasPrice(): Promise<BigNumber>;
    abstract getMinOrMaxTransitTokenAmount(type: 'min' | 'max', tokenAddress?: string): Promise<string>;
}
