import { BaseAccount } from '../base-accounts';
import { RequestService } from '../../services';
export declare class BaseDigitalCurrencyAccount extends BaseAccount {
    protected $request: RequestService;
    constructor($request: RequestService);
    static $acceptCurrencies(): dc.CURRENCY_NAME[];
    static $accept(name: dc.CURRENCY_NAME): boolean;
    static $acceptTradings(): dc.TRADE_PAIR[];
    static $acceptTrading(pair: dc.TRADE_PAIR): boolean;
    static $getDepths(pairs: dc.TRADE_PAIR[]): Promise<dc.Depths>;
}
export interface DigitalCurrencyAccount {
    $getBalance(): Promise<dc.Balance>;
}
export declare namespace dc {
    function pairToString(pair: TRADE_PAIR): string;
    function stringToPair(pairStr: string): TRADE_PAIR;
    namespace currencies {
        const BTC = "BTC";
        const LTC = "LTC";
        const ETH = "ETH";
        const USD = "USD";
    }
    type CURRENCY_NAME = 'BTC' | 'LTC' | 'ETH' | 'USD';
    type TRADE_PAIR = [CURRENCY_NAME, CURRENCY_NAME];
    interface Balance {
        [name: string]: number;
    }
    interface Depths {
        [name: string]: Depth;
    }
    interface Depth {
        asks: DepthInfo[];
        bids: DepthInfo[];
    }
    interface DepthInfo {
        price: number;
        volume: number;
        ts?: number;
    }
}
