import { CachedResponseApi } from '../BaseApi'; import { ICache } from '../Cache'; import { CorporateActionsType, Document, DocumentType, OrderFilterType } from '../constants/lookups'; import { HoldingInfo, MiddlewareConfig, OrderWithExtraInfo, Sdks } from '../types'; import { Account, AccountHistoryWithExtraInfo, AccountWithExtraInfo, AccountWithPositionInfo, BalanceHistory, BankLink, CancelTransaction, CashTransfer, CryptoAccountInfo, CryptoStablecoinTransferStatusWithExtraInfo, DepositWithdraw } from '../types/Account.type'; import { CorporateActionWithExtraInfo } from '../types/CorporateAction.type'; import { AccountDriftReportItem } from '../types/DriftReport.type'; import { Group } from '../types/Group.type'; import { ModelWithExtraInfo } from '../types/Model.type'; import { PortfolioWithExtraInfo } from '../types/Portfolio.type'; import { CryptoOrderHistoryWithExtraInfo, CryptoTradingHistoryWithExtraInfo } from './../types/Account.type'; import { IBranchApi, IGroupApi, IModelApi, ITipranksApi, IUserApi } from './interfaces'; import { IAccountApi } from './interfaces/IAccountApi'; import { IQuoteApi } from './interfaces/IQuoteApi'; export declare class AccountApi extends CachedResponseApi implements IAccountApi { protected branchApi: IBranchApi; protected modelApi: IModelApi; protected groupApi: IGroupApi; protected quoteApi: IQuoteApi; protected userApi: IUserApi; protected tipranksApi: ITipranksApi; constructor(sdks: Sdks, config: MiddlewareConfig, cache: ICache, branchApi: IBranchApi, modelApi: IModelApi, groupApi: IGroupApi, quoteApi: IQuoteApi, userApi: IUserApi, tipranksApi: ITipranksApi); getAccounts(cryptoOnly?: boolean): Promise; getAccount(accountId: number): Promise; getPortfolio(accountId: number, symbol?: string, tipranks?: boolean): Promise; getOrders(accountId: number, filterType?: OrderFilterType | OrderFilterType[], symbol?: string, option?: boolean): Promise; getModelAndGroups(accountId: number): Promise<{ model: ModelWithExtraInfo | null; groups: Group[]; }>; getCorporateActions(accountId: number, dateFrom: string, dateTo: string, types?: CorporateActionsType): Promise; getDriftReport(accountId: number): Promise; getHoldingInfo(accountId: number, symbol: string): Promise; getAccountWithPositionInfo(symbol: string, ...accountIds: number[]): Promise; getAccountHistory(accountId: number, dateFrom: string, dateTo: string): Promise; getAccountPerformance(accountId: number, dateFrom: string, withTodaysBalance?: boolean): Promise; getAccountBuyingPower(accountId: string | number): Promise; getAccountDocuments(accountNumber: string, docType: DocumentType): Promise; getTempIavKey(): Promise; iavComplete(accountNumber: string, publicToken: string, bankAccountId: string): Promise; getAccountCashTransfers(accountNumber: string): Promise; getAccountBankLinks(accountNumber: string): Promise; getAccountWithdrawableCash(accountNumber: string): Promise; cancelBankLink(accountNumber: string, entryId: number): Promise; depositCash(accountNumber: string, entryId: number, amount: number): Promise; withdrawCash(accountNumber: string, entryId: number, amount: number): Promise; cancelTransaction(accountNumber: string, transferId: string): Promise; getAccountCryptoBuyingPower(accountId: number, accountNumber: string): Promise; getAccountCryptoAssets(accountId: number, accountNumber: string): Promise; getAccountCryptoAccountOrderHistory(accountNumber: string): Promise; getAccountCryptoAccountTradingHistory(accountNumber: string): Promise; purchaseCryptoStablecoins(accountNumber: string, amount: number): Promise<{ reason: string; }>; redeemCryptoStablecoins(accountNumber: string, amount: number): Promise<{ reason: string; }>; getCryptoAccountStablecoinTransferStatuses(accountNumber: string): Promise; getAccountCryptoOpenOrders(accountNumber: string): Promise; getCryptoAccountAvailablePdfStatementDates(accountNumber: string): Promise<{ from: Date; to: Date; }>; generateCryptoAccountPdfStatement(accountNumber: string, date: string): Promise; getCryptoAccountOrdersCsv(accountNumber: string): Promise; getCryptoAccountTransfersCsv(accountNumber: string): Promise; getCryptoAccountInfo(accountNumber: string): Promise; }