import type { BalanceData, AprData, LenderConfigMap, PostTradeMetrics } from './utils';
import type { LenderYields } from '../../../types/lenderTypes';
import type { SumerPositionInput } from './sumer/types';
/**
 * Unified deposit operation for all lending protocols.
 *
 * Routes to the appropriate implementation based on the lender type:
 * - Sumer: Uses waterfall absorption model
 * - Standard: Uses standard collateral factor model (Aave, Compound, Venus, etc.)
 *
 * @param lender - The lender protocol identifier (e.g., 'AAVE_V3', 'SUMER')
 * @param amount - The token amount to deposit
 * @param price - The USD price of the token
 * @param balanceData - Current balance state
 * @param config - (Standard only) Lender configuration map
 * @param modeId - (Standard only) Mode/category ID
 * @param targetMarketUid - (Sumer only) Target market UID
 * @param positions - (Sumer only) Array of all Sumer positions
 * @param createNewSubAccount - Whether to create a new sub-account
 * @param apr - Optional current APR data
 * @param yieldParams - Optional yield parameters for APR calculation
 */
export declare function computeDepositDelta(lender: string, amount: number, price: number, balanceData: BalanceData, config?: LenderConfigMap, modeId?: string, createNewSubAccount?: boolean, apr?: AprData, yieldParams?: LenderYields, targetMarketUid?: string, positions?: SumerPositionInput[]): PostTradeMetrics;
//# sourceMappingURL=deposit.d.ts.map