import HttpClient from '../../services/HttpClient';
import SigningRequest from '../helpers/SigningRequest';
import { Ticker } from '../types/IBooks';
import IPlaceOrder, { IOrderID } from '../types/IPlaceOrder';
import { IOpenOrders, IOrderTrades } from '../types/Trades';
export declare class TradeAPI extends HttpClient {
    private _signReq;
    private apiVersion;
    constructor({ version, test }: {
        version: string;
        test?: boolean;
    }, signRequest: SigningRequest);
    getOpenOrders({ book, marker, sort, limit }: {
        book?: Ticker;
        marker?: string;
        sort?: 'desc' | 'asc';
        limit?: string;
    }): Promise<[IOpenOrders]>;
    cancelOrder({ oid, oids, origin_ids }: {
        oid?: string;
        oids?: string[];
        origin_ids?: string[];
    }): Promise<[string]>;
    placeOrder(orderPayload: IPlaceOrder): Promise<IOrderID>;
    placeMarketBuyOrder(currency: string, quantity: string): Promise<IOrderID>;
    placeMarketSellOrder(currency: string, quantity: string): Promise<IOrderID>;
    placeLimitSellOrder({ currency, limit_price, quantity }: {
        currency: Ticker;
        limit_price: string;
        quantity: string;
    }): Promise<IOrderID>;
    placeLimitBuyOrder({ currency, limit_price, quantity }: {
        currency: Ticker;
        limit_price: string;
        quantity: string;
    }): Promise<IOrderID>;
    getUserTrades({ oid, origin_id }: {
        oid?: string;
        origin_id?: string;
    }): Promise<[IOrderTrades]>;
    getOrderTrades({ origin_id, oid }: {
        origin_id?: string;
        oid?: string;
    }): Promise<[IOrderTrades]>;
    lookupOrders({ oid, oids, origin_ids }: {
        oid?: string;
        oids?: string[];
        origin_ids?: string[];
    }): Promise<[IOpenOrders]>;
    private _initializeResponseInterceptor;
    private _initializeRequestInterceptor;
    private _handleRequest;
    private _handleResponse;
    protected _handleError: (error: any) => Promise<never>;
}
