import { AbstractInfoModule } from "./AbstractInfoModule"; import { AbstractTradeModule } from "./AbstractTradeModule"; import { AbstractTranslator } from "./AbstractTranslator"; import { DomainTemplate } from "../domain"; import { GetCurrencyBalanceType, GetSecurityBalanceType } from "../domain/extractors"; export declare abstract class AbstractExchangeClient { private _isAccountInitialized; get isAccountInitialized(): boolean; protected set isAccountInitialized(value: boolean); readonly api: ExchangeApiType; readonly tradeModule: AbstractTradeModule>; readonly infoModule: AbstractInfoModule>; readonly translator: AbstractTranslator>; protected constructor(modules: { tradeModule: AbstractTradeModule>; infoModule: AbstractInfoModule>; translator: AbstractTranslator>; }, api: ExchangeApiType); protected abstract initAccount(): Promise; abstract getPortfolio(): Promise[]>; abstract getCurrenciesBalance(): Promise[]>; }