import { PriceTokenAmount } from "../../../../../../../common/tokens";
import { EvmEncodeConfig } from "../../../../../../../core/blockchain/web3-pure/typed-web3-pure/evm-web3-pure/models/evm-encode-config";
import { EncodeTransactionOptions } from "../../../../../../common/models/encode-transaction-options";
import { SwapTransactionOptions } from "../../../../../../common/models/swap-transaction-options";
import { OnChainTradeType } from '../../../common/models/on-chain-trade-type';
import { AggregatorSolanaOnChainTrade } from '../../../common/on-chain-aggregator/aggregator-solana-on-chain-trade-abstract';
import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
import { LifiSolanaOnChainTradeStruct } from '../models/lifi-trade-struct';
export declare class LifiSolanaOnChainTrade extends AggregatorSolanaOnChainTrade {
    readonly providerGateway: string;
    readonly type: OnChainTradeType;
    private readonly route;
    private readonly _toTokenAmountMin;
    protected get spenderAddress(): string;
    get dexContractAddress(): string;
    get toTokenAmountMin(): PriceTokenAmount;
    constructor(tradeStruct: LifiSolanaOnChainTradeStruct, providerAddress: string);
    encodeDirect(options: EncodeTransactionOptions): Promise<EvmEncodeConfig>;
    swap(options?: SwapTransactionOptions): Promise<string | never>;
    protected getToAmountAndTxData(receiverAddress?: string | undefined, fromAddress?: string | undefined): Promise<EvmEncodedConfigAndToAmount>;
}
