import type express from 'express';
import { CacheService } from '../services/cache/cache.service';
import { MessageEventBus } from '../eventbus/MessageEventBus/MessageEventBus';
import type { MetricCategory, MetricLabel } from './types';
import { GlobalConfig } from '@n8n/config';
export declare class PrometheusMetricsService {
    private readonly cacheService;
    private readonly eventBus;
    private readonly globalConfig;
    constructor(cacheService: CacheService, eventBus: MessageEventBus, globalConfig: GlobalConfig);
    private readonly counters;
    private readonly prefix;
    private readonly includes;
    init(app: express.Application): Promise<void>;
    enableMetric(metric: MetricCategory): void;
    disableMetric(metric: MetricCategory): void;
    disableAllMetrics(): void;
    enableLabels(labels: MetricLabel[]): void;
    disableAllLabels(): void;
    private initN8nVersionMetric;
    private initDefaultMetrics;
    private initRouteMetrics;
    private mountMetricsEndpoint;
    private addPrefixToMetrics;
    private initCacheMetrics;
    private toCounter;
    private initEventBusMetrics;
    private toLabels;
}
