import { type Address } from "viem"; import type { IAccount, ISubAccount } from "../../../../entities/Account.js"; import { type BuildQueryFn } from "../../../../utils/buildQuery.js"; import { type ServiceResult } from "../../../../utils/entityDiagnostics.js"; import type { AccountV3AdapterConfig } from "../../accountServiceConfig.js"; import type { IAccountAdapter } from "../../accountService.js"; type V3PositionsResponse = { data?: V3AccountPositionRow[]; meta?: { total?: number; hasMore?: boolean; offset?: number; limit?: number; }; }; type V3AccountPositionRow = { chainId: number; account: string; vault: string; asset: string; shares: string; assets: string; borrowed: string; isController: boolean; isCollateral: boolean; balanceForwarderEnabled: boolean; liquidity?: V3AccountLiquidity | null; subAccount?: V3SubAccount | null; }; type V3AccountLiquidity = { vaultAddress: string; unitOfAccount: string; daysToLiquidation: number | string; liabilityValue: V3AssetValue; totalCollateralValue: V3AssetValue; collaterals: V3LiquidityCollateral[]; }; type V3AssetValue = { borrowing: string; liquidation: string; oracleMid: string; }; type V3LiquidityCollateral = { address: string; value: V3AssetValue; }; type V3SubAccount = { owner: string; timestamp: number | string; lastAccountStatusCheckTimestamp: number | string; enabledControllers: string[]; enabledCollaterals: string[]; isLockdownMode: boolean; isPermitDisabledMode: boolean; }; export declare class AccountV3Adapter implements IAccountAdapter { private config; constructor(config: AccountV3AdapterConfig, buildQuery?: BuildQueryFn); setConfig(config: AccountV3AdapterConfig): void; private getHeaders; queryV3AccountPositions: (endpoint: string, chainId: number, address: Address, offset?: number, limit?: number, forceFresh?: boolean) => Promise; setQueryV3AccountPositions(fn: typeof this.queryV3AccountPositions): void; fetchAccount(chainId: number, address: Address): Promise>; fetchSubAccount(chainId: number, subAccount: Address, vaults?: Address[]): Promise>; private fetchPositions; private buildPositionsUrl; } export {}; //# sourceMappingURL=accountV3Adapter.d.ts.map