const buildTypedEventTargetType = () => {
    const klass = class TypedEventTarget {
        addEventListener() { }
        dispatchEvent() {
            return true;
        }
        removeEventListener() { }
    };
    return EventTarget;
};
export const TypedEventTarget = buildTypedEventTargetType();
export class SubscriptionEventTarget extends TypedEventTarget {
    subscribe(type, listener) {
        this.addEventListener(type, listener);
        return () => this.removeEventListener(type, listener);
    }
}
//# sourceMappingURL=TypedEventTarget.js.map