import { BlockchainName } from '../../../../core/blockchain/models/blockchain-name';
import { PriceTokenAmount } from '../../../../core/blockchain/tokens/price-token-amount';
import { ProviderData } from '../../models/provider-data';
import { CrossChainContractData } from '../common/celer-rubic/cross-chain-contract-data';
import { PriceToken } from '../../../../core';
import { Token } from '../../../../core/blockchain/tokens/token';
import BigNumber from 'bignumber.js';
/**
 * Class to work with readable methods of cross-chain contract.
 */
export declare class CelerCrossChainContractData extends CrossChainContractData {
    readonly blockchain: BlockchainName;
    readonly address: string;
    readonly providersData: ProviderData[];
    readonly mainContractAddress: string;
    private readonly messageBusController;
    constructor(blockchain: BlockchainName, address: string, providersData: ProviderData[], mainContractAddress: string);
    destinationCryptoFee(toBlockchain: BlockchainName): Promise<BigNumber>;
    getMinOrMaxTransitTokenAmount(type: 'min' | 'max', tokenAddress: string): Promise<string>;
    getTransitToken(token: PriceToken): Promise<Token>;
    isPaused(): Promise<boolean>;
    messageBusAddress(): Promise<string>;
    celerFeePerByte(message: string, messageBusAddress: string): Promise<string>;
    celerFeeBase(messageBusAddress: string): Promise<string>;
    private getTransitTokenAddressBasedOnBlockchain;
    getFeeInPercents(fromContract: CrossChainContractData): Promise<number>;
    getCryptoFeeToken(toContract: CelerCrossChainContractData): Promise<PriceTokenAmount>;
    getNumOfBlockchain(): Promise<number>;
    getMaxGasPrice(): Promise<BigNumber>;
}
