import BigNumber from 'bignumber.js';
import { PriceTokenAmount } from "../../../../../../../common/tokens";
import { EvmBlockchainName } from "../../../../../../../core/blockchain/models/blockchain-name";
import { CelerContractTrade } from "../celer-contract-trade";
import { CelerCrossChainContractData } from "../../celer-cross-chain-contract-data";
import { CelerCrossChainSupportedBlockchain } from "../../models/celer-cross-chain-supported-blockchain";
import { CelerSupportedOnChainTrade } from "../../models/celer-supported-on-chain-trade";
export declare class CelerOnChainContractTrade extends CelerContractTrade {
    readonly slippage: number;
    private readonly onChainTrade;
    readonly fromToken: PriceTokenAmount<EvmBlockchainName>;
    readonly toToken: PriceTokenAmount<EvmBlockchainName>;
    readonly toTokenAmountMin: BigNumber;
    private readonly celerOnChainTrade;
    constructor(blockchain: CelerCrossChainSupportedBlockchain, contract: CelerCrossChainContractData, providerIndex: number, slippage: number, onChainTrade: CelerSupportedOnChainTrade);
    getCelerSourceTrade(): unknown[] | unknown;
    getCelerDestinationTrade(integratorAddress: string, receiverAddress: string): unknown[];
    private getTrade;
    /**
     * Returns method's arguments to use in source network.
     */
    getMethodArguments(toContractTrade: CelerContractTrade, walletAddress: string, providerAddress: string, options: {
        maxSlippage: number;
        receiverAddress: string;
    }): Promise<unknown[]>;
}
