import { SwapTransactionOptions } from '../../..';
import { CrossChainTrade } from '../common/cross-chain-trade';
import { TransactionRequest } from '@ethersproject/providers';
import { PriceTokenAmount, Web3Public } from '../../../../core';
import { ContractParams } from '../../models/contract-params';
import { GasData } from '../../models/gas-data';
export declare class SymbiosisCrossChainTrade extends CrossChainTrade {
    static getGasData(from: PriceTokenAmount, to: PriceTokenAmount, transactionRequest: TransactionRequest): Promise<GasData | null>;
    readonly from: PriceTokenAmount;
    readonly to: PriceTokenAmount;
    readonly priceImpact: number;
    protected readonly gasData: GasData | null;
    private readonly transactionRequest;
    protected readonly fromWeb3Public: Web3Public;
    private get fromBlockchain();
    protected get fromContractAddress(): string;
    constructor(crossChainTrade: {
        from: PriceTokenAmount;
        to: PriceTokenAmount;
        transactionRequest: TransactionRequest;
        gasData: GasData | null;
        priceImpact: number;
    }, providerAddress: string);
    protected checkTradeErrors(): Promise<void | never>;
    swap(options?: SwapTransactionOptions): Promise<string | never>;
    protected getContractParams(): Promise<ContractParams>;
}
