import { Exchange } from "./exchange";
export interface MarketInfo {
    server_time: number;
    pairs: {
        [key: string]: Pair;
    };
}
export interface Pair {
    decimal_places: number;
    min_price: number;
    max_price: number;
    min_amount: number;
    hidden: number;
    fee: number;
    amount_decimal_places: number;
    quoted_currency: string;
    base_currency: string;
}
export declare type PriceQty = [number, number];
export declare function converToPriceAndQty(pq: PriceQty): {
    price: number;
    qty: number;
};
export interface OrderBook {
    asks: Array<PriceQty>;
    bids: Array<PriceQty>;
    market_buy_price: number;
    market_sell_price: number;
}
export declare type Trades = Trade[];
export interface Trade {
    amount: number;
    price: number;
    timestamp: number;
    tid: number;
    type: "ask" | "bid";
}
export interface Ticker {
    high: number;
    low: number;
    avg: number;
    vol: number;
    vol_cur: number;
    last: number;
    buy: number;
    sell: number;
    updated: number;
    pair: string;
}
export interface Bar {
    high: number;
    open: number;
    low: number;
    close: number;
    amount: number;
    timestamp: number;
}
export declare class ExchangeMarket extends Exchange {
    info(): Promise<MarketInfo>;
    orderBook(pair: string): Promise<OrderBook>;
    trades(pair: string, limit?: number): Promise<Trades>;
    ticker(pair: string): Promise<Ticker>;
    lastBars(pair: string, period: "m" | "h" | "d", amount: number): Promise<Bar[]>;
    barsFromMoment(pair: string, period: "m" | "h" | "d", first_bar_close_time: number): Promise<Bar[]>;
    periodBars(pair: string, period: "m" | "h" | "d", first_bar_close_time: any, last_bar_close_time: number): Promise<Bar[]>;
}
