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 { AggregatorEvmOnChainTrade } from '../../../common/on-chain-aggregator/aggregator-evm-on-chain-trade-abstract';
import { EvmEncodedConfigAndToAmount } from '../../../common/on-chain-aggregator/models/aggregator-on-chain-types';
import { NativeRouterTradeInstance } from './models/native-router-trade-struct';
export declare abstract class NativeRouterAbstractTrade extends AggregatorEvmOnChainTrade {
    readonly providerGateway: string;
    private readonly nativeRouterQuoteParams;
    protected get spenderAddress(): string;
    get dexContractAddress(): string;
    constructor(tradeInstance: NativeRouterTradeInstance);
    encode(options: EncodeTransactionOptions): Promise<EvmEncodeConfig>;
    protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
}
