import BigNumber from 'bignumber.js';
import { PriceTokenAmount } from "../../../../../../common/tokens";
import { BlockchainName, EvmBlockchainName } from "../../../../../../core/blockchain/models/blockchain-name";
import { EvmEncodeConfig } from "../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config";
import { ContractParams } from "../../../../../common/models/contract-params";
import { CrossChainTradeType } from "../../../models/cross-chain-trade-type";
import { EvmCrossChainTrade } from "../../common/evm-cross-chain-trade/evm-cross-chain-trade";
import { GasData } from "../../common/evm-cross-chain-trade/models/gas-data";
import { BridgeType } from "../../common/models/bridge-type";
import { FeeInfo } from "../../common/models/fee-info";
import { GetContractParamsOptions } from "../../common/models/get-contract-params-options";
import { OnChainSubtype } from "../../common/models/on-chain-subtype";
import { RubicStep } from "../../common/models/rubicStep";
import { TradeInfo } from "../../common/models/trade-info";
import { RetroBridgeEvmConstructorParams } from "../models/retro-bridge-constructor-params";
import { RetroBridgeTrade } from "../models/retro-bridge-trade";
export declare class RetroBridgeEvmTrade extends EvmCrossChainTrade implements RetroBridgeTrade {
    readonly type: CrossChainTradeType;
    readonly isAggregator = false;
    readonly to: PriceTokenAmount<BlockchainName>;
    readonly from: PriceTokenAmount<EvmBlockchainName>;
    readonly toTokenAmountMin: BigNumber;
    readonly feeInfo: FeeInfo;
    readonly onChainSubtype: OnChainSubtype;
    readonly bridgeType: BridgeType;
    readonly gasData: GasData | null;
    readonly priceImpact: number | null;
    readonly slippage: number;
    private readonly quoteSendParams;
    private readonly isSimulation;
    private readonly hotWalletAddress;
    retroBridgeId: string;
    private get fromBlockchain();
    protected get fromContractAddress(): string;
    protected get methodName(): string;
    private get chainType();
    constructor(crossChainTrade: RetroBridgeEvmConstructorParams, providerAddress: string, routePath: RubicStep[], useProxy: boolean);
    protected getContractParams(options: GetContractParamsOptions): Promise<ContractParams>;
    protected getTransactionConfigAndAmount(receiverAddress?: string): Promise<{
        config: EvmEncodeConfig;
        amount: string;
    }>;
    getTradeInfo(): TradeInfo;
    needAuthWallet(): Promise<boolean>;
    authWallet(): Promise<never | void>;
    private createProxyEvmConfig;
    private createEvmConfigWithoutProxy;
}
