interface MetricsSnapshot { readonly counters: Record; readonly histograms: Record; readonly gauges: Record; } interface Metrics { increment(name: string, by?: number): void; record(name: string, value: number): void; gauge(name: string, value: number): void; snapshot(): MetricsSnapshot; newOperationId(): string; } declare function createMetrics(): Metrics; export { type Metrics, type MetricsSnapshot, createMetrics };