import {AcknowledgeEvent, BaseEvent, EventType} from "./EventHandler.types"; export abstract class AcknowledgableEvent implements AcknowledgeEvent { type: EventType.Acknowledge = EventType.Acknowledge; private acknowledged: boolean = false; public isAcknowledged(): boolean { return this.acknowledged; } /** * This is supposed to be executed by the method called by the event. */ public acknowledge() { this.acknowledged = true; } public abstract handleUnacknowledgement(): void; }