import BigNumber from 'bignumber.js';
import { PriceTokenAmount } from '../../../../../../common/tokens';
import { TonBlockchainName } from '../../../../../../core/blockchain/models/blockchain-name';
import { TonWeb3Private } from '../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-web3-private';
import { TonWeb3Public } from '../../../../../../core/blockchain/web3-public-service/web3-public/ton-web3-public/ton-web3-public';
import { EncodeTransactionOptions } from '../../../../../common/models/encode-transaction-options';
import { SwapTransactionOptions } from '../../../../../common/models/swap-transaction-options';
import { CrossChainTrade } from '../cross-chain-trade';
import { TonTransactionConfig } from '../models/ton-transaction-config';
export declare abstract class TonCrossChainTrade extends CrossChainTrade<TonTransactionConfig> {
    abstract readonly from: PriceTokenAmount<TonBlockchainName>;
    /**
     * Gas fee info in source blockchain.
     */
    protected get fromWeb3Public(): TonWeb3Public;
    protected get web3Private(): TonWeb3Private;
    encode(options: EncodeTransactionOptions): Promise<TonTransactionConfig>;
    swap(options?: SwapTransactionOptions): Promise<string | never>;
    protected getTransactionConfigAndAmount(testMode?: boolean, receiverAddress?: string): Promise<{
        config: TonTransactionConfig;
        amount: string;
    }>;
    getUsdPrice(providerFeeToken?: BigNumber): BigNumber;
    authWallet(): Promise<string>;
}
