import { Exchange } from "./exchange";
export interface Resp {
    success: number;
    return: Order;
}
export interface RespFunds {
    success: number;
    return: Funds;
}
export interface Funds {
    funds: {
        [coin: string]: Coin;
    };
}
export interface Order {
    received: number;
    remains: number;
    funds: {
        [coin: string]: Coin;
    };
    orderId: number;
}
export interface Coin {
    total: number;
    available: number;
}
export interface OrderStatus {
    pair: string;
    type: "buy" | "sell";
    remainingVolume: number;
    volume: number;
    rate: number;
    timestampCreated: number;
    status: OrderStatusType;
    orderType: "limit" | "market" | "fill-or-kill";
    deals: any[];
}
export declare enum OrderStatusType {
    Active = 0,
    Filled = 1,
    Killed = 2,
    Killing = 3,
    Rejected = 7
}
export declare class ExchangeOrder extends Exchange {
    createOrder(req: {
        type: "Buy" | "Sell";
        rate?: number;
        volume: number;
        pair: string;
        orderType: "limit" | "market" | "fill-or-kill";
    }): Promise<Order>;
    cancelOrder(orderId: any): Promise<Order>;
    cancelAllOrders(): Promise<Funds>;
    getOrderStatus(orderId: number): Promise<OrderStatus>;
}
