import { type ethers } from "ethers"; /** Snapshot of the Aave v3 reserve this strategy supplies to. */ export interface AaveStrategyState { aTokenAddress: string; /** Total supplied to the reserve (aToken totalSupply, asset units). */ totalSupplied: bigint; /** Withdrawable liquidity sitting in the reserve (asset balance of the aToken). */ liquidity: bigint; /** 1e18-scaled utilization ((totalSupplied - liquidity) / totalSupplied). */ utilization: bigint; /** Per-second supply rate in WAD (from Aave's annual ray `currentLiquidityRate`). */ supplyRatePerSec: bigint; /** Strategy's aToken balance (rebases with interest, asset units). */ strategyBalance: bigint; } /** The aToken receipt position — what the strategy "holds" in Aave. */ export declare function getUnderlying(contract: ethers.Contract): Promise; /** Asset supplied to Aave (the parent vault's asset). */ export declare function getMytAsset(contract: ethers.Contract): Promise; export declare function getPoolProvider(contract: ethers.Contract): Promise; export declare function getRewardsController(contract: ethers.Contract): Promise; export declare function getRewardToken(contract: ethers.Contract): Promise; /** * Read the live state of the Aave reserve this strategy supplies to. * Returns liquidity, utilization, supply rate, and the strategy's balance. */ export declare function getAaveState(contract: ethers.Contract): Promise;