import { type Address, type Hex } from "viem"; import { type Market, MarketParams } from "../../market/index.js"; import type { BigIntish, MarketId } from "../../types.js"; import { CapacityLimitReason } from "../../utils.js"; import { VaultV2Adapter } from "./VaultV2Adapter.js"; import type { IAccrualVaultV2Adapter, IVaultV2Adapter } from "./VaultV2Adapter.js"; export interface IVaultV2MorphoMarketV1AdapterV2 extends Omit { type?: "VaultV2MorphoMarketV1AdapterV2"; marketIds: MarketId[]; adaptiveCurveIrm: Address; supplyShares: Record; } export declare class VaultV2MorphoMarketV1AdapterV2 extends VaultV2Adapter implements IVaultV2MorphoMarketV1AdapterV2 { readonly type: "VaultV2MorphoMarketV1AdapterV2"; static adapterId(address: Address): `0x${string}`; static collateralId(address: Address): `0x${string}`; static marketParamsId(address: Address, params: MarketParams): `0x${string}`; marketIds: MarketId[]; adaptiveCurveIrm: Address; supplyShares: Record; constructor({ marketIds, adaptiveCurveIrm, supplyShares, ...vaultV2Adapter }: IVaultV2MorphoMarketV1AdapterV2); ids(params: MarketParams): `0x${string}`[]; } export interface IAccrualVaultV2MorphoMarketV1AdapterV2 extends IVaultV2MorphoMarketV1AdapterV2 { } export declare class AccrualVaultV2MorphoMarketV1AdapterV2 extends VaultV2MorphoMarketV1AdapterV2 implements IAccrualVaultV2MorphoMarketV1AdapterV2, IAccrualVaultV2Adapter { markets: Market[]; constructor(adapter: IAccrualVaultV2MorphoMarketV1AdapterV2, markets: Market[]); realAssets(timestamp?: BigIntish): bigint; maxDeposit(_data: Hex, assets: BigIntish): { value: bigint; limiter: CapacityLimitReason; }; maxWithdraw(data: Hex): import("../../utils.js").CapacityLimit; }