import type { IAddress, IDebankProtocolExposure, IDebankTokenExposure, IExposurePerCategory } from '../../types'; import type { IDebankAppProtocol, IDebankTokenObject, IDebankUserProtocol } from './fetcher'; /** * DeBank-shaped exposure for one subaccount. Produced from DeBank directly * and by the Octav.fi / Untangled transformers, which map their data into * this same shape so one parser handles every source. */ export interface IDebankNormalizedResponse { subaccount: { /** Protocol positions (DeBank `user_protocol` objects). */ positions: IDebankUserProtocol[]; /** App positions; only present on DeBank-sourced responses. */ app_positions?: IDebankAppProtocol[]; /** Wallet (idle) token balances. */ tokens: IDebankTokenObject[]; }; } export declare function parseVaultLevelDebank(debankRes: IDebankNormalizedResponse, protocolExposure: IDebankProtocolExposure[], tokenExposure: IDebankTokenExposure[], borrower: IAddress, exposurePerCategory: IExposurePerCategory, netValue: { value: number; }): { tokenMap: Record; protocolTokenMap: Record; protocolExposures: IDebankUserProtocol[]; tokenExposures: IDebankTokenObject[]; loansExposure: { exposure: any[]; positions: any[]; }; }; export declare function getVaultExposure(debankResponse: IDebankNormalizedResponse): { borrowing_exposure: { symbol: string; chain: string; amount: number; }[]; supplying_exposure: { symbol: string; chain: string; amount: number; }[]; wallet_exposure: { symbol: string; chain: string; amount: number; }[]; }; export declare function parseLoanLevelDebank(debankRes: any): { exposure: any[]; positions: any[]; };