import { CrossChainContractTrade } from '../../common/celer-rubic/cross-chain-contract-trade';
import { AbiItem } from 'web3-utils';
import { BlockchainName } from '../../../../../core';
import { RubicCrossChainContractData } from './common/rubic-cross-chain-contract-data';
export declare abstract class RubicCrossChainContractTrade extends CrossChainContractTrade {
    readonly contract: RubicCrossChainContractData;
    protected constructor(blockchain: BlockchainName, contract: RubicCrossChainContractData, providerIndex: number);
    /**
     * Returns method's name and contract abi to call in source network.
     */
    getMethodNameAndContractAbi(): {
        methodName: string;
        contractAbi: AbiItem[];
    };
    private getAbiMethodByProvider;
    /**
     * Returns method's arguments to use in source network.
     */
    getMethodArguments(toContractTrade: CrossChainContractTrade, walletAddress: string, providerAddress: string, options?: {
        swapTokenWithFee: boolean;
    }): Promise<unknown[]>;
    /**
     * Returns swap method name in target network.
     * Must be called on target contract.
     */
    getSwapToUserMethodSignature(): string;
}
