import { getRubicCrossChainContract } from './constants/rubic-cross-chain-contracts';
import { RubicCrossChainSupportedBlockchain } from './constants/rubic-cross-chain-supported-blockchains';
import { BlockchainName } from '../../../../core';
import { PriceToken } from '../../../../core/blockchain/tokens/price-token';
import { PriceTokenAmount } from '../../../../core/blockchain/tokens/price-token-amount';
import { RequiredCrossChainOptions } from '../../models/cross-chain-options';
import { RubicCrossChainContractTrade } from './rubic-cross-chain-contract-trade/rubic-cross-chain-contract-trade';
import { RubicItCrossChainContractTrade } from './rubic-cross-chain-contract-trade/rubic-it-cross-chain-contract-trade/rubic-it-cross-chain-contract-trade';
import { CelerRubicCrossChainTradeProvider } from '../common/celer-rubic/celer-rubic-cross-chain-trade-provider';
import { WrappedCrossChainTrade } from '../common/models/wrapped-cross-chain-trade';
export declare class RubicCrossChainTradeProvider extends CelerRubicCrossChainTradeProvider {
    static isSupportedBlockchain(blockchain: BlockchainName): blockchain is RubicCrossChainSupportedBlockchain;
    type: "RUBIC";
    protected readonly contracts: typeof getRubicCrossChainContract;
    constructor();
    calculate(from: PriceTokenAmount, to: PriceToken, options: RequiredCrossChainOptions): Promise<WrappedCrossChainTrade | null>;
    protected calculateBestTrade(blockchain: RubicCrossChainSupportedBlockchain, from: PriceTokenAmount, toToken: PriceToken, slippageTolerance: number): Promise<RubicCrossChainContractTrade>;
    protected getBestItContractTrade(blockchain: RubicCrossChainSupportedBlockchain, from: PriceTokenAmount, toToken: PriceToken, slippageTolerance: number): Promise<RubicItCrossChainContractTrade>;
}
