import { Lang } from '../../../../resources/languages'; import { EventResponses, LogEvent } from '../../../../types/event'; import { RaidbossFileData } from '../../../../types/trigger'; import { Text, TextText, TriggerHelper } from '../../popup-text'; import { RaidbossOptions } from '../../raidboss_options'; import { TimelineLoader } from '../../timeline'; import LineEvent from '../data/network_log_converter/LineEvent'; import RaidEmulator from '../data/RaidEmulator'; import StubbedPopupText from './StubbedPopupText'; type DisplayedText = { element: HTMLElement; expires: number; }; type ScheduledFunc = () => void; type ScheduledTrigger = { expires: number; promise: Promise; resolver: ScheduledFunc; rejecter: ScheduledFunc; }; export default class RaidEmulatorPopupText extends StubbedPopupText { $popupTextContainerWrapper: HTMLElement; emulatedOffset: number; emulator?: RaidEmulator; displayedText: DisplayedText[]; scheduledTriggers: ScheduledTrigger[]; seeking: boolean; $textElementTemplate: HTMLElement; audioDebugTextDuration: number; constructor(options: RaidbossOptions, timelineLoader: TimelineLoader, raidbossFileData: RaidbossFileData); doUpdate(currentLogTime: number): Promise; OnLog(_e: LogEvent): void; onEmulatorLog(logs: LineEvent[]): void; OnNetLog(_e: EventResponses['LogLine']): void; bindTo(emulator: RaidEmulator): void; _emulatorReset(): void; _createTextFor(triggerHelper: TriggerHelper, text: string, textType: Text, _lowerTextKey: TextText, duration: number): void; _onTriggerInternalDelaySeconds(triggerHelper: TriggerHelper): Promise | undefined; _playAudioFile(triggerHelper: TriggerHelper, url: string, volume?: number): void; _makeTextElement(_triggerHelper: TriggerHelper | undefined, text: string, className: string): HTMLElement; addDisplayText($e: HTMLElement, endTimestamp: number): void; setParserLanguage(lang: Lang): void; } export {};