/** Lightweight metrics collector: counters, timings, and derived rates. * Chat/embed classes feed it automatically; read `summary()` any time or * subscribe to the owning class's 'metric' hook. */ export interface MetricEvent { name: string; value: number; unit: 'ms' | 'count' | 'tokens' | 'tokens/s'; } export declare class Metrics { counters: Map; timings: Map; count(name: string, by?: number): void; time(name: string, ms: number): void; /** Time an async operation and record it under name. */ measure(name: string, fn: () => Promise): Promise; summary(): Record; reset(): void; }