import { Interface } from '@ethersproject/abi'; import { DeepReadonly } from 'ts-essentials'; import { PartialEventSubscriber } from '../../composed-event-subscriber'; import { Address, MultiCallInput, MultiCallOutput, Logger, Log, BlockHeader } from '../../types'; import { FastPriceFeedConfig, FastPriceFeedState } from './types'; import { Lens } from '../../lens'; export declare class FastPriceFeed extends PartialEventSubscriber { private fastPriceFeedAddress; private tokenAddresses; static readonly interface: Interface; static readonly fastPriceEventsInterface: Interface; BASIS_POINTS_DIVISOR: bigint; protected priceDuration: number; protected maxDeviationBasisPoints: bigint; protected favorFastPrice: Record; private spreadBasisPointsIfInactive; private spreadBasisPointsIfChainError; private maxPriceUpdateDelay; constructor(fastPriceFeedAddress: Address, fastPriceEventsAddress: Address, tokenAddresses: Address[], config: FastPriceFeedConfig, lens: Lens, DeepReadonly>, logger: Logger); processLog(state: DeepReadonly, log: Readonly, blockHeader: Readonly): DeepReadonly | null; getPrice(_state: DeepReadonly, _token: Address, _refPrice: bigint, _maximize: boolean): bigint; static getConfigMulticallInputs(fastPriceFeedAddress: Address, tokenAddresses: Address[]): MultiCallInput[]; static getConfig(multicallOutputs: MultiCallOutput[], tokenAddresses: Address[]): FastPriceFeedConfig; getGenerateStateMultiCallInputs(): MultiCallInput[]; generateState(multicallOutputs: MultiCallOutput[], blockNumber?: number | 'latest'): DeepReadonly; }