export type AppendFnType = string | number | symbol; export interface StatisticAppendProvider { append(name: string, fn: AppendFnType, content: string): void; } export type DummyAppendMemoryMap = Map>; export declare class DummyAppendProvider implements StatisticAppendProvider { private readonly map; /** * If you pass a map the dummy will log all append calls to the map, using the feature name and the appendage type as keys * * @param map - The map to log to */ constructor(map?: DummyAppendMemoryMap | undefined); append(name: string, fn: AppendFnType, content: string): void; } export declare const defaultStatisticsFileSuffix = ".txt"; /** * Provides cached open connections for all files to connect. * allowing to append to the same file often. *

* While we could simply reopen these files, it is safer/more performant to keep the connection open. */ export declare class StatisticFileProvider implements StatisticAppendProvider { readonly statisticsDirectory: string; private readonly connections; constructor(statisticsDirectory: string | undefined); /** * @param name - the name of the feature {@link Feature#name} * @param fn - the name of the feature-aspect to record */ private statisticsFile; /** * Append the given content to the information for a feature of the given name and function. */ append(name: string, fn: AppendFnType, content: string): void; private getHandle; }