import { Interface } from '@ethersproject/abi'; import type { DeepReadonly } from 'ts-essentials'; import type { BlockHeader, Log, Logger, MultiCallInput, MultiCallOutput } from '../../types'; import type { MorphoVaultState } from './types'; import { PartialEventSubscriber } from '../../composed-event-subscriber'; import { Lens } from '../../lens'; import { ethers } from 'ethers'; export declare class MorphoVaultSubscriber extends PartialEventSubscriber { morphoVault: string; static interface: Interface; constructor(morphoVault: string, lens: Lens, DeepReadonly>, logger: Logger); processLog(state: DeepReadonly, log: Readonly, blockHeader: Readonly): DeepReadonly | null; getGenerateStateMultiCallInputs(): MultiCallInput[]; generateState(multicallOutputs: MultiCallOutput[], blockNumber?: number | 'latest'): DeepReadonly; getRate(amount: bigint, state: MorphoVaultState): bigint; handleUpdateLastTotalAssets(event: ethers.utils.LogDescription, state: MorphoVaultState): DeepReadonly | null; handleAccrueFee(event: ethers.utils.LogDescription, state: MorphoVaultState): DeepReadonly | null; handleDeposit(event: ethers.utils.LogDescription, state: MorphoVaultState): DeepReadonly | null; handleWithdraw(event: ethers.utils.LogDescription, state: MorphoVaultState): DeepReadonly | null; }