import ZoneInfo from '../../resources/zone_info'; import { NetAnyMatches, NetMatches } from '../../types/net_matches'; import { CactbotBaseRegExp } from '../../types/net_trigger'; export type RsvData = { [rsv: string]: string; }; type ZoneEncInfo = { zoneName?: string; zoneId?: number; startLine?: string; endLine?: string; startTime?: Date; endTime?: Date; }; type FightEncInfo = ZoneEncInfo & { fightName?: string; endType?: string; sealName?: string; sealId?: string; logLines?: string[]; inferredStartFromAbility?: boolean; }; export declare const ignoredCombatants: string[]; export declare class EncounterFinder { currentZone: ZoneEncInfo; currentFight: FightEncInfo; currentSeal?: string; currentCE?: string; zoneInfo?: typeof ZoneInfo[number]; haveWon: boolean; haveSeenSeals: boolean; rsvData: RsvData; regex: { changeZone: CactbotBaseRegExp<'ChangeZone'>; netSeal: CactbotBaseRegExp<'SystemLogMessage'>; netUnseal: CactbotBaseRegExp<'SystemLogMessage'>; cactbotWipe: CactbotBaseRegExp<'GameLog'>; win: CactbotBaseRegExp<'ActorControl'>; wipe: CactbotBaseRegExp<'ActorControl'>; commence: CactbotBaseRegExp<'ActorControl'>; inCombat: CactbotBaseRegExp<'InCombat'>; playerAttackingMob: CactbotBaseRegExp<'Ability'>; mobAttackingPlayer: CactbotBaseRegExp<'Ability'>; rsv: CactbotBaseRegExp<'RSVData'>; }; sealRegexes: Array>; unsealRegexes: Array>; ceRegex: CactbotBaseRegExp<'ActorControl'>; initializeZone(): void; initializeFight(): void; constructor(); skipZone(): boolean; storeStartLine(line: string, store: boolean): void; process(line: string, store: boolean): void; onStartZone(line: string, zoneName: string, matches: NetMatches['ChangeZone']): void; onStartFight(line: string, matches: NetMatches['Ability' | 'ActorControl' | 'GameLog' | 'SystemLogMessage' | 'InCombat'], fightName?: string, sealId?: string): void; onEndZone(_line: string, _zoneName: string, _matches: NetMatches['ChangeZone']): void; onEndFight(_line: string, _matches: NetAnyMatches, _endType: string): void; onNetSeal(line: string, sealId: string, matches: NetMatches['SystemLogMessage']): void; onSeal(sealName: string): void; onUnseal(line: string, matches: NetMatches['GameLog' | 'SystemLogMessage']): void; onCE(line: string, matches: NetMatches['ActorControl']): void; } declare class EncounterCollector extends EncounterFinder { zones: Array; fights: Array; constructor(); onEndZone(line: string, _zoneName: string, matches: NetMatches['ChangeZone']): void; onStartFight(line: string, matches: NetMatches['Ability' | 'GameLog' | 'SystemLogMessage' | 'InCombat'], fightName?: string, sealId?: string): void; onEndFight(line: string, matches: NetAnyMatches, endType: string): void; onNetSeal(line: string, sealId: string, matches: NetMatches['SystemLogMessage']): void; onSeal(sealName: string): void; onUnseal(line: string, matches: NetAnyMatches): void; } declare class TLFuncs { static getTZOffsetFromLogLine(line: string): number; static dateFromMatches(matches: NetAnyMatches): Date; static timeFromDate(date?: Date): string; static durationFromDates(start?: Date, end?: Date): string; static generateFileName(fightOrZone: FightEncInfo | ZoneEncInfo): string; static maxLengthPerIndex(outputRows: Array>): Array; } export { EncounterCollector, FightEncInfo, TLFuncs, ZoneEncInfo };