import { ECSContext } from "./ecs"; import EventEmitter from "../utils/eventEmitter"; export type MetricsKey = string | number; export type MetricsRecord = Record; export declare class Metrics extends EventEmitter { private ctx; private data; private toStableIdIfNumber; private ensure; private getOrchestratorKey; private deduped; private fireEvents; /** * Sync metrics from this resource to MetricsStore for an entity. * This ensures metrics are persisted during serialization. * @param eid Entity ID to sync metrics for */ private syncToStore; constructor(ctx: ECSContext); getListenerKey(entity: MetricsKey, metric?: string, type?: string): string; get(entity: MetricsKey, metric: string, type?: string): number; set(entity: MetricsKey, metric: string, value: number): void; set(entity: MetricsKey, metric: string, type: string, value: number): void; increment(entity: MetricsKey, metric: string): void; increment(entity: MetricsKey, metric: string, delta?: number): void; increment(entity: MetricsKey, metric: string, type: string, delta?: number): void; keys(entity: string): string[]; types(entity: string, metric: string): string[]; } //# sourceMappingURL=metrics.d.ts.map