import { OnModuleInit, OnModuleDestroy } from '@nestjs/common'; import { IMetricsPluginOptions, IMetricsJson } from '../../../shared/types'; import { IMetricsService } from '../ports/metrics-service.port'; export declare class MetricsService implements IMetricsService, OnModuleInit, OnModuleDestroy { private readonly config; private readonly registry; /** True when the registry is created (and thus fully owned) by this service. */ private readonly ownRegistry; private readonly counters; private readonly histograms; private readonly gauges; private readonly prefix; private readonly defaultLabels; private readonly latencyBuckets; private readonly enabled; private defaultMetricsInterval?; constructor(config: IMetricsPluginOptions); onModuleInit(): void; onModuleDestroy(): void; private registerStandardMetrics; /** * Look up a metric by the name the caller emits. Feature packages hardcode * canonical `redisx_*` names; when this registry uses a custom prefix the * series is registered under that prefix instead — resolve the canonical * name against it rather than silently no-oping the emit. */ private resolveMetric; incrementCounter(name: string, labels?: Record, value?: number): void; observeHistogram(name: string, value: number, labels?: Record): void; startTimer(name: string, labels?: Record): () => number; setGauge(name: string, value: number, labels?: Record): void; incrementGauge(name: string, labels?: Record, value?: number): void; decrementGauge(name: string, labels?: Record, value?: number): void; getMetrics(): Promise; getMetricsJson(): Promise; registerCounter(name: string, help: string, labelNames?: string[]): void; registerHistogram(name: string, help: string, labelNames?: string[], buckets?: number[]): void; registerGauge(name: string, help: string, labelNames?: string[]): void; } //# sourceMappingURL=metrics.service.d.ts.map