import { Logger } from 'pino'; import { IRegistry } from '@hyperlane-xyz/registry'; import { ChainMap, MultiProvider } from '@hyperlane-xyz/sdk'; import { Address } from '@hyperlane-xyz/utils'; import { RelayerConfigInput } from '../config/schema.js'; import { HyperlaneRelayer } from '../core/HyperlaneRelayer.js'; import { RelayerCache } from '../core/cache.js'; import { RelayerMetrics } from './relayerMetrics.js'; export interface RelayerServiceConfig { relayerConfig?: RelayerConfigInput; logger?: Logger; /** Enable Prometheus metrics server (default: false) */ enableMetrics?: boolean; } export declare class RelayerService { private readonly multiProvider; private readonly registry; private readonly config; private relayer?; private relayerLazy?; private metricsServer?; private readonly logger; readonly metrics: RelayerMetrics; private constructor(); /** * Creates and initializes a RelayerService. * * Note: The whitelist is captured on first initialization. If subsequent calls * to `getRelayer()` pass different whitelists, they will still receive the * relayer created with the whitelist from the first call. */ static create(multiProvider: MultiProvider, registry: IRegistry, config: RelayerServiceConfig, whitelist?: ChainMap): Promise; private handleEvent; private initialize; private createRelayer; private buildWhitelistFromConfig; private loadCache; private saveCache; start(whitelist?: ChainMap): Promise; stop(): void; getRelayer(whitelist?: ChainMap): Promise; getCache(): RelayerCache | undefined; } //# sourceMappingURL=RelayerService.d.ts.map