///
import { FunctionStats } from "./provider";
import { SmallestN, Statistics } from "./shared";
import { PropertiesOfType } from "./types";
export declare class FactoryMap extends Map {
readonly factory: (key: K) => V;
constructor(factory: (key: K) => V);
getOrCreate(key: K): V;
}
export declare class FunctionStatsMap {
fIncremental: FactoryMap;
fAggregate: FactoryMap;
aggregate: FunctionStats;
update(fn: string, key: keyof PropertiesOfType, value: number): void;
incr(fn: string, key: keyof PropertiesOfType, n?: number): void;
resetIncremental(): void;
toString(): string;
clear(): void;
}
export declare class FunctionCpuUsage {
utime: Statistics;
stime: Statistics;
cpuTime: Statistics;
smallest: SmallestN;
}
export declare class MemoryLeakDetector {
private instances;
private counters;
private warned;
private memorySize;
constructor(memorySize?: number);
detectedNewLeak(fn: string, instanceId: string, memoryUsage: NodeJS.MemoryUsage): boolean;
clear(): void;
}