import { Exchange } from "./exchange";
export declare type OrderType = "ASC" | "DESC";
export declare type TransactionsRequest = {
    count?: number;
    fromId?: number;
    endId?: number;
    order?: OrderType;
    since?: number;
    end?: number;
    type?: "Withdraw" | "Incoming";
    status?: TransactionsRequestStatus;
    currency?: string;
};
export declare enum TransactionsRequestStatus {
    Failed = 1,
    Completed = 2,
    Processing = 3,
    Rejected = 4
}
export interface HistoryTransaction {
    id: number;
    timestamp: number;
    type: "Withdraw" | "Incoming";
    amount: number;
    currency: string;
    address: string;
    status: number;
    commission: number;
    txid?: string;
}
export interface HistoryTrade {
    pair: string;
    type: "buy" | "sell";
    volume: number;
    rate: number;
    orderId: number;
    timestamp: number;
    commission: number;
    commissionCurrency: string;
}
export interface HistoryOrder {
    pair: string;
    type: "buy" | "sell";
    volume: number;
    remainingVolume: number;
    rate: number;
    timestampCreated: number;
    status: number;
    orderType: string;
}
export interface HistoryTradeRequest {
    count?: number;
    fromId?: number;
    endId?: number;
    order?: OrderType;
    since?: number;
    end?: number;
    pair?: string;
}
/**
 * Reports and history
 */
export declare class ExchangeHistory extends Exchange {
    transactions(req: TransactionsRequest): Promise<{
        [orderId: string]: HistoryTransaction;
    }>;
    historyTrades(req?: HistoryTradeRequest): Promise<{
        [tradeId: string]: HistoryTrade;
    }>;
    historyOrders(req?: {
        count?: number;
        fromId?: number;
        endId?: number;
        order?: OrderType;
    }): Promise<{
        [id: string]: HistoryOrder;
    }>;
    getActiveOrders(symbol?: string): Promise<{
        [id: string]: HistoryOrder;
    }>;
}
