import { EventEmitter } from 'eventemitter3'; import { type Settings } from '../src/api'; import { type Config } from '../src/types'; export class MockSettingsModule implements Settings { public revision: number; private emitter: EventEmitter; constructor() { this.revision = 0; this.emitter = new EventEmitter(); } public addConfigListener(ev: (config: Config) => void): void { this.emitter.on('config', ev); } public removeConfigListener(ev: (config: Config) => void): void { this.emitter.off('config', ev); } public addSealListener(ev: (seal: { privateKey: string; publicKey: string } | null) => void): void { this.emitter.on("seal", ev); } public removeSealListener(ev: (seal: { privateKey: string; publicKey: string } | null) => void): void { this.emitter.off("seal", ev); } public close(): void { } public async setRevision(rev: number): Promise { this.revision = rev; } public async enableNotifications(): Promise { } public async disableNotifications(): Promise { } public async enableRegistry(): Promise { } public async disableRegistry(): Promise { } public async enableMFA(): Promise<{ secretImage: string, secretText: string }> { return { secretImage: '', secretText: '' }; } public async disableMFA(): Promise { } public async confirmMFA(code: string): Promise { } public async setSeal(password: string): Promise { } public async clearSeal(): Promise { } public async unlockSeal(password: string): Promise { } public async updateSeal(password: string): Promise { } public async forgetSeal(): Promise { } public async getUsernameStatus(username: string): Promise { return false; } public async setLogin(username: string, password: string): Promise { } public async getBlockedCards(): Promise<{ cardId: string, timestamp: number}[]> { return []; } public async getBlockedChannels(): Promise<{ cardId: string|null, channelId: string, timestamp: number }[]> { return []; } public async getBlockedTopics(): Promise<{ cardId: string|null, channelId: string, topicId: string, timestamp: number }[]> { return []; } }