import { LimitOrderAdvancedSettings, LimitTradeParameters, OrderPostingResult, QuoteAndPost, SwapAdvancedSettings, TradeParameters, TraderParameters } from './types';
import { QuoteResultsWithSigner } from './getQuote';
import { postSellNativeCurrencyOrder } from './postSellNativeCurrencyOrder';
import { getPreSignTransaction } from './getPreSignTransaction';
import { OrderBookApi } from '../order-book';
export type WithPartialTraderParams<T> = T & Partial<TraderParameters>;
export interface TradingSdkOptions {
    enableLogging: boolean;
    orderBookApi: OrderBookApi;
}
export declare class TradingSdk {
    traderParams: Partial<TraderParameters>;
    readonly options: Partial<TradingSdkOptions>;
    constructor(traderParams?: Partial<TraderParameters>, options?: Partial<TradingSdkOptions>);
    setTraderParams(params: Partial<TraderParameters>): this;
    getQuote(params: WithPartialTraderParams<TradeParameters>, advancedSettings?: SwapAdvancedSettings): Promise<QuoteAndPost>;
    getQuoteResults(params: WithPartialTraderParams<TradeParameters>, advancedSettings?: SwapAdvancedSettings): Promise<QuoteResultsWithSigner>;
    postSwapOrder(params: WithPartialTraderParams<TradeParameters>, advancedSettings?: SwapAdvancedSettings): Promise<OrderPostingResult>;
    postLimitOrder(params: WithPartialTraderParams<LimitTradeParameters>, advancedSettings?: LimitOrderAdvancedSettings): Promise<OrderPostingResult>;
    postSellNativeCurrencyOrder(params: WithPartialTraderParams<TradeParameters>, advancedSettings?: SwapAdvancedSettings): Promise<ReturnType<typeof postSellNativeCurrencyOrder>>;
    getPreSignTransaction(params: WithPartialTraderParams<{
        orderId: string;
        account: string;
    }>): ReturnType<typeof getPreSignTransaction>;
    private mergeParams;
}
