import { Counter, Gauge, Histogram, Registry } from 'prom-client'; /** * Prometheus metric registry for the relayer */ export declare const relayerMetricsRegistry: Registry; /** * Total number of messages processed by the relayer */ export declare const relayerMessagesTotal: Counter<"destination_chain" | "origin_chain" | "status">; /** * Total number of retry attempts for failed messages */ export declare const relayerRetriesTotal: Counter<"destination_chain" | "origin_chain">; /** * Current size of the message backlog */ export declare const relayerBacklogSize: Gauge; /** * Time taken to relay a message (in seconds) */ export declare const relayerRelayDuration: Histogram<"destination_chain" | "origin_chain">; /** * Number of messages skipped due to whitelist filtering */ export declare const relayerMessagesSkipped: Counter<"destination_chain" | "origin_chain">; /** * Number of messages already delivered (no relay needed) */ export declare const relayerMessagesAlreadyDelivered: Counter<"destination_chain" | "origin_chain">; /** * Helper class for recording relayer metrics */ export declare class RelayerMetrics { recordMessageSuccess(originChain: string, destinationChain: string): void; recordMessageFailure(originChain: string, destinationChain: string): void; recordRetry(originChain: string, destinationChain: string): void; updateBacklogSize(size: number): void; recordRelayDuration(originChain: string, destinationChain: string, durationSeconds: number): void; recordMessageSkipped(originChain: string, destinationChain: string): void; recordMessageAlreadyDelivered(originChain: string, destinationChain: string): void; /** * Start a timer for measuring relay duration * Returns a function that should be called when the relay completes */ startRelayTimer(originChain: string, destinationChain: string): () => number; } //# sourceMappingURL=relayerMetrics.d.ts.map