export interface TagsMap { [key: string]: string; } export interface MetricsConfig { host: string; port: number; prefix: string; globalTags?: TagsMap; } export interface Logger { (msg: string): void; } export interface Timer { stop(): number; } export default class Metrics { private logger?; private rootClient; private client; constructor({ host, port, prefix, globalTags }: MetricsConfig, logger?: Logger | undefined); distribution(name: string, value: number, tags?: TagsMap): void; measure(name: string, value: number, tags?: TagsMap): void; initTimer(): Timer; addGlobalTags(globalTags: TagsMap): void; closeClient(): void; private log; }