/// /// import promClient from 'prom-client'; import expressPromBundle from 'express-prom-bundle'; import { KnexExporterResult } from 'knex-prometheus-exporter'; import fs from 'fs'; import type { Router } from 'express'; import type { Knex } from 'knex'; import type { Log } from './types'; interface PrometheusConfig { version: string; namespace: string; name: string; ipAddress: string; pod: string; buildBranch?: string; buildVersion?: string; distPath: string; } declare class Prometheus { private _register; private readonly _config; private readonly _log; private _buildInfoCount; private _buildInfoMax; private _buildInfoSum; private _dynamicallyCreatedHistograms; constructor(config: PrometheusConfig, log?: Log); metrics(): Promise; metricsInJson(): Promise>[]>; getExpressMetricsMiddleware(): expressPromBundle.Middleware; registerKnex(knex: Knex, id: string): KnexExporterResult; unregisterKnex(exporter: KnexExporterResult): void; attachToExpress(router: Pick): Pick; buildInfoFile(): void; getInfoFile(): fs.ReadStream; createHistogram(name: string, help: string, labelNames?: string[]): promClient.Histogram; startHistogram(metricName: string, labels: Record): (labels?: Partial> | undefined) => number; } export { Prometheus };