import * as Logger from 'log4js'; export declare const getLogger: (name: string, level: string) => Logger.Logger; export declare type Coin = "BTC" | "ETH" | "XLM" | "XRP" | "LTC" | "BCH" | "DOGE"; export interface Account { address: string; } export declare type TxStatus = "Pending" | "Completed" | "Failed"; export interface Transaction { hash: string; status: TxStatus; from?: string | string[]; to: string; amount: number; currency: C; } export declare type Outcome = "Success" | "Error"; export declare class Response { message?: string | undefined; constructor(message?: string | undefined); } export declare class SuccessResponse extends Response { result: Outcome; constructor(message?: string); } export declare class ErrorResponse extends Response { result: Outcome; constructor(message?: string); } export declare class SubscriptionResponse extends SuccessResponse { uid: string; constructor(uid: string, message?: string); } export declare function parseResponse(resp: any): SubscriptionResponse | SuccessResponse | ErrorResponse; export declare function parseSubResponse(resp: any): SubscriptionResponse | ErrorResponse; export interface XLMAccount extends Account { memo: string; } export interface XLMTransaction extends Transaction<"XLM"> { created_at: string; memo: string; paging_token: string; } export interface ETHAccount extends Account { } export interface ETHTransaction extends Transaction<"ETH"> { } export interface BTCAccount extends Account { } export interface BTCTransaction extends Transaction<"BTC"> { block: string; } export interface XRPAccount extends Account { memo: string; } export interface XRPTransaction extends Transaction<"XRP"> { created_at: string; memo: string; last_ledger_sequence: number; } export interface LTCAccount extends Account { } export interface LTCTransaction extends Transaction<"LTC"> { block: string; } export interface BCHAccount extends Account { } export interface BCHTransaction extends Transaction<"BCH"> { block: string; } export interface DOGEAccount extends Account { } export interface DOGETransaction extends Transaction<"DOGE"> { block: string; } export declare type AccountMap = { [coin in Coin]: Account; } & { BTC: BTCAccount; ETH: ETHAccount; XLM: XLMAccount; XRP: XRPAccount; LTC: LTCAccount; BCH: BCHAccount; DOGE: DOGEAccount; }; export declare type TransactionMap = { [coin in Coin]: Transaction; } & { BTC: BTCTransaction; ETH: ETHTransaction; XLM: XLMTransaction; XRP: XRPTransaction; LTC: LTCTransaction; BCH: BCHTransaction; DOGE: DOGETransaction; };