import { PriceTokenAmount } from "../../../../../../common/tokens";
import { BlockchainName } from "../../../../../../core/blockchain/models/blockchain-name";
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 { UniZenOnChainTradeStruct } from './models/unizen-on-chain-trade-struct';
export declare class UniZenOnChainTrade extends AggregatorEvmOnChainTrade {
    readonly type: "UNIZEN";
    get dexContractAddress(): string;
    private readonly unizenContractAddress;
    get toTokenAmountMin(): PriceTokenAmount<BlockchainName>;
    private minAmountOut;
    constructor(tradeStruct: UniZenOnChainTradeStruct, providerAddress: string);
    protected getTransactionConfigAndAmount(options: EncodeTransactionOptions): Promise<EvmEncodedConfigAndToAmount>;
    private getBestQuote;
}
