import { type Logger } from 'pino'; import { type ChainName, type WarpCore } from '@hyperlane-xyz/sdk'; import { Address, ProtocolType } from '@hyperlane-xyz/utils'; import { type IMonitor, type MonitorEvent, MonitorEventType } from '../interfaces/IMonitor.js'; /** * Configuration for the Monitor's inventory tracking. */ export interface InventoryMonitorConfig { inventoryAddresses: Partial>; chains: ChainName[]; } /** * Simple monitor implementation that polls warp route collateral balances and emits them as MonitorEvent. * Awaits the TokenInfo handler before starting the next cycle to prevent race conditions. */ export declare class Monitor implements IMonitor { private readonly checkFrequency; private readonly warpCore; private readonly logger; private readonly inventoryConfig?; private tokenInfoHandler?; private errorHandler?; private startHandler?; private isMonitorRunning; private resolveStop; private stopPromise; /** * @param checkFrequency - The frequency to poll balances in ms. */ constructor(checkFrequency: number, warpCore: WarpCore, logger: Logger, inventoryConfig?: InventoryMonitorConfig | undefined); private computeConfirmedBlockTags; on(eventName: MonitorEventType.TokenInfo, fn: (event: MonitorEvent) => void | Promise): this; on(eventName: MonitorEventType.Error, fn: (event: Error) => void): this; on(eventName: MonitorEventType.Start, fn: () => void): this; start(): Promise; private getTokenBridgedSupply; private fetchInventoryBalances; stop(): Promise; } //# sourceMappingURL=Monitor.d.ts.map