import { EventResponses, LogEvent } from '../../../../types/event'; import { Matches } from '../../../../types/net_matches'; import { LooseTrigger, RaidbossFileData } from '../../../../types/trigger'; import { ProcessedTrigger, Text, TextText, TriggerHelper } from '../../popup-text'; import { RaidbossOptions } from '../../raidboss_options'; import { TimelineLoader } from '../../timeline'; import { DataType } from '../EmulatorCommon'; import StubbedPopupText from '../overrides/StubbedPopupText'; import LineEvent from './network_log_converter/LineEvent'; type ResolverFunc = () => void; export interface ResolverStatus { responseType?: string; responseLabel?: string; initialData: DataType; finalData?: DataType; condition?: boolean; response?: undefined; result?: string; delay?: number; suppressed: boolean; executed: boolean; promise?: Promise; } type EmulatorTriggerHelper = TriggerHelper & { resolver?: Resolver; }; export declare class Resolver { status: ResolverStatus; private promise?; private run?; private delayUntil?; private final?; private delayPromise?; private promiseResolved; private delayResolver?; triggerHelper?: EmulatorTriggerHelper; constructor(status: ResolverStatus); isResolved(log: LineEvent): Promise; setDelay(delayUntil: number): Promise; setPromise(promise: Promise): void; setRun(run: ResolverFunc): void; setFinal(final: ResolverFunc): void; setHelper(triggerHelper: EmulatorTriggerHelper): void; } export type LineRegExpCache = Map>; export default class PopupTextAnalysis extends StubbedPopupText { triggerResolvers: Resolver[]; currentResolver?: Resolver; regexCache: LineRegExpCache; callback?: (log: LineEvent, triggerHelper: EmulatorTriggerHelper | undefined, currentTriggerStatus: ResolverStatus, finalData: DataType) => void; constructor(options: RaidbossOptions, timelineLoader: TimelineLoader, raidbossFileData: RaidbossFileData); OnTrigger(trigger: LooseTrigger, matches: RegExpExecArray | null, currentTime: number): void; OnLog(_e: LogEvent): void; onEmulatorLog(logs: LineEvent[], getCurrentLogLine: () => LineEvent): Promise; OnNetLog(_e: EventResponses['LogLine']): void; checkResolved(logObj: LineEvent): Promise; _onTriggerInternalCondition(triggerHelper: EmulatorTriggerHelper): boolean; _onTriggerInternalDelaySeconds(triggerHelper: EmulatorTriggerHelper): Promise | undefined; _onTriggerInternalPromise(triggerHelper: EmulatorTriggerHelper): Promise | undefined; _onTriggerInternalTTS(triggerHelper: EmulatorTriggerHelper): void; _onTriggerInternalRun(triggerHelper: EmulatorTriggerHelper): void; _makeTextElement(triggerHelper: EmulatorTriggerHelper, text: string, _className: string): HTMLElement; _createTextFor(triggerHelper: EmulatorTriggerHelper, text: string, textType: Text, _lowerTextKey: TextText, _duration: number): void; _playAudioFile(triggerHelper: EmulatorTriggerHelper, url: string, _volume: number): void; _onTriggerInternalGetHelper(trigger: ProcessedTrigger, matches: Matches, now: number): EmulatorTriggerHelper; } export {};