import { Counter, Gauge, Histogram, Registry } from "prom-client";
import { EventEmitter } from "node:events";
export interface PrometheusConfig {
    port?: number;
    metricsPath?: string;
    defaultLabels?: Record<string, string>;
    collectDefaultMetrics?: boolean;
}
export declare class PrometheusExporter extends EventEmitter {
    private registry;
    private app;
    private port;
    private metricsPath;
    private responseCounter;
    private responseHistogram;
    private intentAccuracyGauge;
    private satisfactionGauge;
    private errorRateGauge;
    private activeProvidersGauge;
    private tokenUsageCounter;
    private fallbackRateGauge;
    constructor(config?: PrometheusConfig);
    private initializeMetrics;
    private setupRoutes;
    updateMetrics(telemetryData: unknown): void;
    start(): Promise<void>;
    getRegistry(): Registry;
    registerCustomMetric(metric: Counter | Gauge | Histogram): void;
}
export declare function getPrometheusExporter(config?: PrometheusConfig): PrometheusExporter;
