import UserEvent from "../../core/internal/event/UserEvent"; import { UserEventEmitter } from "../../core/internal/event/UserEventEmitter"; import { InAppMessageTriggerProcessor } from "./trigger/InAppMessageTriggerProcessor"; import { InAppMessageResetProcessor } from "./reset/InAppMessageResetProcessor"; import { UserListener } from "../../core/internal/user/UserListener"; import { User } from "../../core/internal/model/model"; import { InAppMessageScheduleProcessor } from "./schedule/InAppMessageScheduleProcessor"; import { InAppMessageDelayStorage } from "./storage/InAppMessageDelayStorage"; import { Clock } from "../../core/internal/util/TimeUtil"; export default class InAppMessageManager implements UserListener { private readonly scheduleProcessor; private readonly delayStorage; private readonly triggerProcessor; private readonly resetProcessor; private readonly userEventEmitter; private readonly clock; constructor(scheduleProcessor: InAppMessageScheduleProcessor, delayStorage: InAppMessageDelayStorage, triggerProcessor: InAppMessageTriggerProcessor, resetProcessor: InAppMessageResetProcessor, userEventEmitter: UserEventEmitter, clock: Clock); private initialize; destroy(): void; onEvent(event: UserEvent): void; /** * @override */ onUserUpdated(oldUser: User, newUser: User, timestamp: number): void; loadDelaySchedule(): void; }