import { Counter, Gauge, Histogram, Registry } from 'prom-client'; import InstrumentedSemaphorePoolFactory, { MetricOptions } from './instrumented.js'; export default class PromSemaphorePoolFactory extends InstrumentedSemaphorePoolFactory { #private; constructor(opts?: MetricOptions | Registry, ...registries: Registry[]); addRegistry(registry: Registry): void; get metrics(): { requested: Counter<"pool" | "operation"> & { init(labels: Record<"pool" | "operation", string | number>): void; }; settled: Counter<"pool" | "operation" | "outcome"> & { init(labels: Record<"pool" | "operation" | "outcome", string | number>): void; }; released: Counter<"pool" | "operation"> & { init(labels: Record<"pool" | "operation", string | number>): void; }; reserved: Gauge<"pool" | "operation">; queued: Gauge<"pool" | "operation">; concurrency: Gauge<"pool">; capacity: Gauge<"pool">; waittime: Histogram<"pool" | "operation" | "outcome">; heldtime: Histogram<"pool" | "operation">; }; }