import { CorporateActionsType, Document, DocumentType, OrderFilterType } from '../../constants/lookups'; import { Account, AccountDriftReportItem, AccountHistoryWithExtraInfo, AccountWithExtraInfo, AccountWithPositionInfo, BalanceHistory, BankLink, CancelTransaction, CashTransfer, CorporateActionWithExtraInfo, CryptoAccountInfo, CryptoOrderHistoryWithExtraInfo, CryptoStablecoinTransferStatusWithExtraInfo, CryptoTradingHistoryWithExtraInfo, DepositWithdraw, Group, HoldingInfo, ModelWithExtraInfo, OrderWithExtraInfo, PortfolioWithExtraInfo } from '../../types'; export interface IAccountApi { getAccounts(cryptoOnly?: boolean): Promise; getAccount(accountId: number): Promise; getCryptoAccountInfo(accountNumber: string): 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: number | string): Promise; getAccountDocuments(accountNumber: string, docType: DocumentType): Promise; getTempIavKey(): Promise; iavComplete(accountNumber: string, publicToken: string, bankAccountId: string): Promise; cancelBankLink(accountNumber: string, entryId: number): Promise; getAccountBankLinks(accountNumber: string): Promise; getAccountCashTransfers(accountNumber: string): Promise; getAccountWithdrawableCash(accountNumber: string): 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; }