import { LogDefinition, LogDefinitionName, LogDefinitions, LogDefinitionType } from '../../resources/netlog_defs'; import { NetParams } from '../../types/net_props'; import { Notifier } from './notifier'; export type ReindexedLogDefs = { [K in keyof LogDefinitions as LogDefinitions[K]['type']]: LogDefinition; }; export default class Splitter { private startLine; private stopLine; private notifier; private includeGlobals; private doAnalysisFilter; private logTypes; private haveStarted; private haveStopped; private haveFoundFirstNonIncludeLine; private globalLines; private lastInclude; private addedCombatants; private rsvLines; private rsvLinesReceived; private rsvSubstitutionMap; private includeAllTypes; private includeFilterTypes; private filtersRegex; private ignoredAbilities; private npcAbilityRegex; private addNPCCombatantRegex; private removeNPCCombatantRegex; private ignoredCombatantIds; constructor(startLine: string, stopLine: string, notifier: Notifier, includeGlobals: boolean, doAnalysisFilter: boolean); parseFilter(name: LogDefinitionName, def: LogDefinition, filter: NetParams[typeof name]): void; isLogDefinitionType(type: string | undefined): type is LogDefinitionType; isLogDefinition(def: { name: K; }): def is LogDefinition; isReindexedLogDefs(remap: Partial): remap is ReindexedLogDefs; processAnalysisOptions(): ReindexedLogDefs; decodeRsv(line: string, type: LogDefinitionType): string; analysisFilter(line: string, type?: LogDefinitionType): boolean; process(line: string): string | string[] | undefined; processAll(line: string): string | undefined; processWithCallback(line: string, noSplitting: boolean, callback: (str: string) => void): void; isDone(): boolean; wasStarted(): boolean; }