/**
 * Base class for all access rules.
 */
export class AccessRule extends EventTarget {
    type;
    constructor(state = {}) {
        super();
        this.type = state.type ?? '';
    }
    toJSON() {
        return {
            type: this.type,
        };
    }
    notifyChange() {
        this.dispatchEvent(new Event('change'));
    }
}
//# sourceMappingURL=AccessRule.js.map