export type PoolKind = "lend" | "vault"; export interface DepositCap { cap: bigint; current: bigint; remaining: bigint; mode: DepositCapMode; hasCapacity: boolean; isPaused: boolean; fillRatio: number; } export type DepositCapMode = "capped" | "paused" | "unlimited"; export interface Pool { protocol: string; kind: PoolKind; address: string; underlyingMint: string; mintDecimals: number; cap: DepositCap; state: TState; }