import { CachedResponseApi } from '../BaseApi'; import { ICache } from '../Cache'; import { ModelFractionalSharePolicy, OrderFilterType, OrderTransaction, OverExposedType, PositionType } from '../constants/lookups'; import { HoldingInfo, MiddlewareConfig, ModelWithExtraInfo, OrderWithExtraInfo, OverExposedAccount, Sdks } from '../types'; import { ModelDriftReportItem, RebalanceRecommendationItem } from '../types/DriftReport.type'; import { PortfolioWithExtraInfo } from '../types/Portfolio.type'; import { IBranchApi, IUserApi } from './interfaces'; import { IModelApi } from './interfaces/IModelApi'; export declare class ModelApi extends CachedResponseApi implements IModelApi { private branchApi; protected userApi: IUserApi; constructor(sdks: Sdks, config: MiddlewareConfig, cache: ICache, branchApi: IBranchApi, userApi: IUserApi); getModels(): Promise; getModel(modelId: number): Promise; getPortfolio(modelId: number, combined?: boolean, symbol?: string, positionType?: PositionType): Promise; getOrders(modelId: number, filterType?: OrderFilterType | OrderFilterType[], symbol?: string): Promise; getOverExposedAccounts(modelId: number, threshold: number, type: OverExposedType): Promise; getDriftReport(modelId: number, accountIds?: number[]): Promise; getHoldingInfo(modelId: number, symbol: string): Promise; getRebalanceRecommendations(modelId: number, targets: Record, fractionalSharePolicy?: ModelFractionalSharePolicy, accountIds?: number[], presets?: { accountId: number; transaction: OrderTransaction.Buy | OrderTransaction.Sell; symbol: string; quantity: number; }[]): Promise; }