export declare type MetricType = "COUNTER" | "TIMER"; export interface MetricId { name: string; tags: { [key: string]: string; }; type: MetricType; } export declare type MetricField = "count" | "total" | "max" | "mean"; export declare class Measurement { private valueSupplier; field: MetricField; constructor(field: MetricField, valueSupplier: () => number); get value(): number; } export interface Metric { id: MetricId; measure(): Measurement[]; } export declare function isMetricIdEqual(lid: MetricId, rid: MetricId): boolean;