import { LogDefFieldIdx, LogDefFieldName, LogDefinition, LogDefinitionName, LogDefinitionType } from '../../resources/netlog_defs'; import { Notifier } from './notifier'; import { ReindexedLogDefs } from './splitter'; export default class Anonymizer { private logTypes; private nameGenerator; private playerMap; private anonMap; private fakeHash; private lastPlayerIdx; constructor(); isLogDefinitionFieldIdx(fieldId: number | null | undefined, name: K): fieldId is LogDefFieldIdx; isLogDefinitionField(field: string, name: K): field is LogDefFieldName; isLogDefinitionType(type: string | undefined): type is LogDefinitionType; isLogDefinition(def: { name: K; }): def is LogDefinition; isReindexedLogDefs(remap: Partial): remap is ReindexedLogDefs; processLogDefs(): ReindexedLogDefs; process(line: string, notifier: Notifier): string | undefined; private anonymizeRepeatingFields; private addNewPlayer; validateIds(notifier: Notifier): boolean; validateLine(line: string, notifier: Notifier): boolean; }