/** Based on https://github.com/screepers/screeps-profiler */ interface ProfileMap { [fn: string]: [time: number, calls: number, subs: ProfileMap]; } export declare class Profiler { private readonly getData; readonly dummy: boolean; constructor(getData: () => { map?: ProfileMap; }, dummy?: boolean); private refreshData; private data; private readonly marker; enable(): void; disable(): void; private currentKey; wrapLoop(loop: () => void): () => void; reset(): void; registerObject(object: object, name: string): void; register unknown>(fn: F, name?: string): F; private get; /** * Manually add profiling timings * @param key profiled function name * @param time cpu usage * @param parentKey override parent function name */ record(key: string, time: number, parentKey?: string): void; getCallgrind(): string; callgrind(): void; getOutput(maxStats?: number): string; output(maxStats?: number): void; } export {};