import PartyTracker from '../../resources/party'; import { OopsyDeathReason, OopsyMistake, OopsyMistakeType } from '../../types/oopsy'; import { ProcessedOopsyTriggerSet } from './damage_tracker'; import { RequestTimestampCallback } from './missed_buff_collector'; import { MistakeCollector } from './mistake_collector'; import { OopsyOptions } from './oopsy_options'; export type TrackedLineEventType = 'Ability' | 'GainsEffect' | 'LosesEffect' | 'HoTDoT' | 'MissedAbility' | 'MissedEffect'; export type TrackedLineEvent = { timestamp: number; type: TrackedLineEventType; targetId: string; mistake?: OopsyMistakeType; mistakeText?: string; splitLine: string[]; }; export type TrackedDeathReasonEvent = { timestamp: number; type: 'DeathReason'; targetId: string; text: string; }; export type TrackedMistakeEvent = { timestamp: number; type: 'Mistake'; targetId: string; mistakeEvent: OopsyMistake; }; export type TrackedEvent = TrackedLineEvent | TrackedDeathReasonEvent | TrackedMistakeEvent; export type TrackedEventType = TrackedEvent['type']; export declare class PlayerStateTracker { private options; private collector; partyTracker: PartyTracker; private missedBuffCollector; private triggerSets; private partyIds; private deadIds; private combatantPartyInfo; private currPartyInfo; private petIdToOwnerId; private abilityIdToBuff; private effectIdToBuff; private trackedEvents; private trackedEffectMap; private readonly eventWindowMs; private readonly cleanupWindowMs; private nextPruneTimestamp?; private baseTime?; private myPlayerId?; private mistakeDamageMap; private mistakeShareMap; private mistakeSoloMap; constructor(options: OopsyOptions, collector: MistakeCollector, partyTracker: PartyTracker, requestTimestampCallback: RequestTimestampCallback); OnStartEncounter(timestamp: number): void; OnStopEncounter(_timestamp: number): void; PushTriggerSet(set: ProcessedOopsyTriggerSet): void; ClearTriggerSets(): void; OnPartyChanged(): void; private Reset; OnChangeZone(timestamp: number, zoneName: string, zoneId: number): void; OnAddedCombatant(_line: string, splitLine: string[]): void; OnPartyList(_line: string, splitLine: string[]): void; OnChangedPlayer(_line: string, splitLine: string[]): void; SetPlayerId(id: string): void; IsInParty(id?: string): boolean; IsPlayerInParty(id?: string): boolean; OnAbility(_line: string, splitLine: string[]): void; OnGainsEffect(_line: string, splitLine: string[]): void; OnLosesEffect(_line: string, splitLine: string[]): void; HasEffect(targetId: string | undefined, effectId: string | string[] | undefined): boolean; OnDeathReason(timestamp: number, reason: OopsyDeathReason): void; OnMistakeObj(timestamp: number, mistake: OopsyMistake): void; OnDefeated(_line: string, splitLine: string[]): void; OnHoTDoT(_line: string, splitLine: string[]): void; OnWipe(_line: string, _splitLine: string[]): void; private OnBuffCollected; private PruneTrackedEvents; }