type MetreEvent = { name: string; timestamp?: number; payload: any; }; interface IStorage { save(e: MetreEvent): Promise; } export interface IMetry { record(e: MetreEvent): void; recordAsync(e: MetreEvent): Promise; flush(): Promise; } export declare class Telemetry implements IMetry { private queuedEvents; private storage; constructor(); prefixWith(prefix: string): IMetry; useStorage(s: IStorage): void; record(e: MetreEvent): void; recordAsync(e: MetreEvent): Promise; flush(): Promise; private scheduleFlush; private afterFlush; private unFinishedEvents; private addTimeStamp; } declare class NoopStorage implements IStorage { save(_e: MetreEvent): Promise; } export declare const noopStorage: NoopStorage; export {};