import BigNumber from 'bignumber.js';
import { PriceTokenAmount, Token } from "../../../../../common/tokens";
import { BlockchainName, EvmBlockchainName } from "../../../../../core/blockchain/models/blockchain-name";
import { CelerCrossChainSupportedBlockchain } from "./models/celer-cross-chain-supported-blockchain";
import { CelerSupportedOnChainTradeProvider } from "./models/celer-supported-on-chain-trade";
import { ProviderData } from "./models/provider-data";
/**
 * Class to work with readable methods of cross-chain contract.
 */
export declare class CelerCrossChainContractData {
    readonly blockchain: CelerCrossChainSupportedBlockchain;
    readonly address: string;
    readonly providersData: ProviderData[];
    private readonly web3Public;
    private readonly messageBusController;
    constructor(blockchain: CelerCrossChainSupportedBlockchain, address: string, providersData: ProviderData[]);
    getProvider(providerIndex: number): CelerSupportedOnChainTradeProvider;
    destinationCryptoFee(toBlockchain: BlockchainName): Promise<BigNumber>;
    getMinMaxTransitTokenAmounts(tokenAddress: string): Promise<[string, string]>;
    getTransitToken(): Promise<Token<EvmBlockchainName>>;
    isPaused(): Promise<boolean>;
    messageBusAddress(): Promise<string>;
    celerFeePerByte(message: string, messageBusAddress: string): Promise<string>;
    celerFeeBase(messageBusAddress: string): Promise<string>;
    private getTransitTokenAddressBasedOnBlockchain;
    getFeeInPercents(): Promise<number>;
    getCryptoFeeToken(toContract: CelerCrossChainContractData): Promise<PriceTokenAmount<EvmBlockchainName>>;
}
