import * as express from 'express'; import * as prometheus from 'prom-client'; import { TypedError } from 'typed-error'; import { AuthTestFunc, CustomParams, LabelSet, MetricsMetaMap } from './types'; export declare class MetricsGathererError extends TypedError { } interface Describer { [kind: string]: (name: string, help: string, customParams?: CustomParams) => void; } export declare class MetricsGatherer { internalErrorCount: number; meta: MetricsMetaMap; private metrics; describe: Describer; client: any; constructor(); private initState; private setupDescribe; gauge(name: string, val: number, labels?: LabelSet): void; inc(name: string, val?: number, labels?: LabelSet): void; dec(name: string, val?: number, labels?: LabelSet): void; counter(name: string, val?: number, labels?: LabelSet): void; summary(name: string, val: number, labels?: LabelSet, customParams?: CustomParams): void; histogram(name: string, val: number, labels?: LabelSet, customParams?: CustomParams): void; histogramSummary(name: string, val: number, labels?: LabelSet): void; checkMetricType(name: string, kinds: string[]): boolean | undefined; getMetric(name: string): prometheus.Metric | undefined; exists(name: string): boolean; private ensureExists; reset(name?: string): void; exportOn(port: number, path?: string, requestHandler?: express.Handler): void; requestHandler(authTest?: AuthTestFunc): express.Handler; aggregateRequestHandler(authTest?: AuthTestFunc): express.Handler; collectDefaultMetrics(): void; collectAPIMetrics(app: express.Application): express.Application; output(): string; clear(): void; private err; } export {};