import { Interface } from '@ethersproject/abi'; import { IDexHelper } from '../../dex-helper'; import { StatefulEventSubscriber } from '../../stateful-event-subscriber'; import { Address, Log, Logger } from '../../types'; import { AsyncOrSync, DeepReadonly } from 'ts-essentials'; import { PoolState } from './types'; export declare class UsualPool extends StatefulEventSubscriber { protected dexHelper: IDexHelper; private poolAddress; private poolInterface; decoder: (log: Log) => import("@ethersproject/abi").LogDescription; constructor(parentName: string, dexHelper: IDexHelper, poolAddress: Address, poolInterface: Interface, logger: Logger); protected processLog(state: DeepReadonly, log: Readonly): AsyncOrSync | null>; generateState(blockNumber?: number | 'latest'): Promise>; getPrice(blockNumber: number): Promise; getOrGenerateState(blockNumber: number): Promise | null>; }