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 { CurveOnChainTradeStruct } from "./models/curve-on-chain-trade-struct";
export declare abstract class CurveAbstractTrade extends EvmOnChainTrade {
    get type(): OnChainTradeType;
    private get nativeValueToSend();
    readonly dexContractAddress: string;
    private readonly poolAddress;
    constructor(tradeStruct: CurveOnChainTradeStruct, providerAddress: string);
    protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
}
