import BigNumber from 'bignumber.js';
import { PriceTokenAmount } from "../../../../../../common/tokens";
import { BitcoinBlockchainName, BlockchainName } from "../../../../../../core/blockchain/models/blockchain-name";
import { BitcoinCrossChainTrade } from "../../common/bitcoin-cross-chain-trade/bitcoin-cross-chain-trade";
import { BridgeType } from '../../common/models/bridge-type';
import { FeeInfo } from '../../common/models/fee-info';
import { OnChainSubtype } from '../../common/models/on-chain-subtype';
import { RubicStep } from '../../common/models/rubicStep';
import { TradeInfo } from '../../common/models/trade-info';
import { LifiCrossChainTradeConstructor } from '../models/lifi-cross-chain-trade-constructor';
export declare class LifiBitcoinCrossChainTrade extends BitcoinCrossChainTrade {
    /** @internal */
    readonly type: "lifi";
    readonly isAggregator = false;
    readonly from: PriceTokenAmount<BitcoinBlockchainName>;
    readonly to: PriceTokenAmount<BlockchainName>;
    readonly toTokenAmountMin: BigNumber;
    private readonly route;
    readonly onChainSubtype: OnChainSubtype;
    readonly bridgeType: BridgeType;
    readonly priceImpact: number | null;
    readonly feeInfo: FeeInfo;
    private readonly slippage;
    private get fromBlockchain();
    readonly memo: string;
    protected get fromContractAddress(): string;
    protected get methodName(): string;
    protected get amountToCheck(): string;
    constructor(crossChainTrade: LifiCrossChainTradeConstructor<BitcoinBlockchainName>, providerAddress: string, routePath: RubicStep[], useProxy: boolean);
    protected getTransactionConfigAndAmount(receiverAddress?: string): Promise<{
        config: {
            data: string;
            value: string;
            to: string;
        };
        amount: string;
    }>;
    getTradeInfo(): TradeInfo;
    getTradeAmountRatio(fromUsd: BigNumber): BigNumber;
    private checkEnoughBalance;
}
