import { Currency, CurrencyAmount, ElixirTrade, Trade } from '@envanik/sdk';
/**
 * Returns the best trade for the exact amount of tokens in to the given token out
 */
export declare function useTradeExactIn(currencyAmountIn?: CurrencyAmount, currencyOut?: Currency): {
    trade: Trade | null;
    isLoading: boolean;
};
/**
 * Returns the best trade for the token in to the exact amount of token out
 */
export declare function useTradeExactOut(currencyIn?: Currency, currencyAmountOut?: CurrencyAmount): {
    trade: Trade | null;
    isLoading: boolean;
};
/**
 * Returns the best trade for the exact amount of tokens in to the given token out
 */
export declare function useElixirTradeExactIn(currencyAmountIn?: CurrencyAmount, currencyOut?: Currency): {
    trade: ElixirTrade | null;
    isLoading: boolean;
};
/**
 * Returns the best trade for the token in to the exact amount of token out
 */
export declare function useElixirTradeExactOut(currencyIn?: Currency, currencyAmountOut?: CurrencyAmount): {
    trade: ElixirTrade | null;
    isLoading: boolean;
};
