import { Interface } from '@ethersproject/abi'; import { AsyncOrSync, DeepReadonly } from 'ts-essentials'; import { BlockHeader, Log, Logger } from '../../types'; import { StatefulEventSubscriber } from '../../stateful-event-subscriber'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { DexParams, PoolState, ProtocolState, SwapParams, VaultState } from './types'; export declare class BunniV2EventPool extends StatefulEventSubscriber { readonly parentName: string; protected network: number; protected dexHelper: IDexHelper; handlers: { [event: string]: (event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader) => AsyncOrSync | null>; }; ids: { [address: string]: string; }; interfaces: { [name: string]: Interface; }; logDecoders: { [name: string]: (log: Log) => any; }; addressesSubscribed: string[]; config: DexParams; constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger); protected processLog(state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; generateState(blockNumber: number): Promise>; getOrGenerateState(blockNumber: number): Promise>; initializeVault(address: string, vaultDecimals: bigint, currencyDecimals: bigint, protocolState: ProtocolState): void; handleInitializeEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleNewBunniEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleDepositEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleWithdrawEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleSwapEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleSetHookFeeModifierEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleCuratorSetFeeRateEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleScheduleKChangeEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleSubmitBidEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleDepositIntoTopBidEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleWithdrawFromTopBidEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleDepositIntoNextBidEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleWithdrawFromNextBidEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleSetBidPayloadEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleIncreaseBidRentEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleOrderEtchedEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleOrderFulfilledEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; handleSetFeeOverrideEvent(event: any, state: DeepReadonly, log: Readonly, blockHeader: BlockHeader): Promise | null>; _quoteSwap(state: PoolState, vaults: { [address: string]: VaultState; }, params: SwapParams, blockNumber: bigint, blockTimestamp: bigint): { success: boolean; updatedSqrtPriceX96: bigint; updatedTick: bigint; inputAmount: bigint; outputAmount: bigint; swapFee: bigint; totalLiquidity: bigint; }; _updatePoolTotalValueLocked(blockNumber?: number): Promise; _updateVaultSharePrices(blockNumber?: number): Promise; private _K; }