import { BlockchainName, PriceTokenAmount } from '../../../../../../core';
import { CrossChainSupportedInstantTrade } from '../../../common/celer-rubic/models/cross-chain-supported-instant-trade';
import { CelerCrossChainContractTrade } from '../celer-cross-chain-contract-trade';
import BigNumber from 'bignumber.js';
import { CelerCrossChainContractData } from '../../celer-cross-chain-contract-data';
export declare class CelerItCrossChainContractTrade extends CelerCrossChainContractTrade {
    readonly slippage: number;
    private readonly instantTrade;
    readonly fromToken: PriceTokenAmount;
    readonly toToken: PriceTokenAmount;
    readonly toTokenAmountMin: BigNumber;
    private readonly crossChainInstantTrade;
    constructor(blockchain: BlockchainName, contract: CelerCrossChainContractData, providerIndex: number, slippage: number, instantTrade: CrossChainSupportedInstantTrade);
    protected getFirstPath(): string[] | string;
    getSecondPath(): string[];
    protected modifyArgumentsForProvider(methodArguments: unknown[][], walletAddress: string): Promise<void>;
    getCelerSourceTrade(): unknown[] | unknown;
    getCelerDestionationTrade(integratorAddress: string): unknown[];
    private getTrade;
    /**
     * Returns method's arguments to use in source network.
     */
    getMethodArguments(toContractTrade: CelerCrossChainContractTrade, walletAddress: string, providerAddress: string, options: {
        maxSlippage: number;
    }): Promise<unknown[]>;
}
