import BigNumber from 'bignumber.js';
import { EncodeTransactionOptions } from "../../../../../../common/models/encode-transaction-options";
import { OnChainTradeType } from "../../../common/models/on-chain-trade-type";
import { EvmEncodedConfigAndToAmount } from "../../../common/on-chain-aggregator/models/aggregator-on-chain-types";
import { EvmOnChainTrade } from "../../../common/on-chain-trade/evm-on-chain-trade/evm-on-chain-trade";
import { EvmOnChainTradeStruct } from "../../../common/on-chain-trade/evm-on-chain-trade/models/evm-on-chain-trade-struct";
import { BestPathsWithAmounts } from "./utils/typings";
export declare class SyncSwapAbstractTrade extends EvmOnChainTrade {
    readonly dexContractAddress: string;
    private readonly bestPathWithAmounts;
    /** @internal */
    static getGasLimit(tradeStruct: EvmOnChainTradeStruct & {
        bestPathWithAmounts: BestPathsWithAmounts;
    }, dexContractAddress: string, providerAddress: string): Promise<BigNumber | null>;
    private readonly nativeSupportedFromWithoutFee;
    private readonly nativeSupportedTo;
    get type(): OnChainTradeType;
    constructor(tradeStruct: EvmOnChainTradeStruct & {
        bestPathWithAmounts: BestPathsWithAmounts;
    }, providerAddress: string, dexContractAddress: string);
    protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
    getCallParameters(receiverAddress?: string): unknown[];
}
