import { Context } from 'koishi'; import { JsonDataStore } from './json.store'; import type { GroupConfig, WarnRecord, BlacklistRecord, MuteRecord, BanMeRecord, LockedName, AntiRepeatConfig, Subscription, RecallRecord, CommandLogData, LeaveRecord, AuthRolesData, AuthUsersData } from '../../types'; /** 数据存储映射类型 */ export interface DataStores { warns: JsonDataStore>; blacklist: JsonDataStore>; groupConfig: JsonDataStore>; mutes: JsonDataStore>>; banmeRecords: JsonDataStore>; lockedNames: JsonDataStore>; antiRepeat: JsonDataStore>; subscriptions: JsonDataStore<{ list: Subscription[]; }>; recallRecords: JsonDataStore; commandLogs: JsonDataStore; leaveRecords: JsonDataStore>; authRoles: JsonDataStore; authUsers: JsonDataStore; } export declare class DataManager { private ctx; /** 数据目录路径 */ readonly dataPath: string; /** 日志文件路径 */ readonly logPath: string; /** 日志写入流 */ private logStream; /** 数据存储实例 */ private stores; constructor(ctx: Context); /** * 初始化数据服务 */ private init; /** * 获取警告记录存储 */ get warns(): JsonDataStore>; /** * 获取黑名单存储 */ get blacklist(): JsonDataStore>; /** * 获取群配置存储 */ get groupConfig(): JsonDataStore>; /** * 获取禁言记录存储 */ get mutes(): JsonDataStore>>; /** * 获取 BanMe 记录存储 */ get banmeRecords(): JsonDataStore>; /** * 获取锁定名称存储 */ get lockedNames(): JsonDataStore>; /** * 获取反复读配置存储 */ get antiRepeat(): JsonDataStore>; /** * 获取订阅配置存储 */ get subscriptions(): JsonDataStore<{ list: Subscription[]; }>; /** * 获取撤回记录存储 */ get recallRecords(): JsonDataStore; /** * 获取命令日志存储 */ get commandLogs(): JsonDataStore; /** * 获取退群冷却记录存储 */ get leaveRecords(): JsonDataStore>; /** * 获取角色存储 */ get authRoles(): JsonDataStore; /** * 获取用户角色关联存储 */ get authUsers(): JsonDataStore; /** * 写入日志 */ writeLog(message: string): void; /** * 刷新所有存储 */ flushAll(): void; /** * 释放资源 */ dispose(): void; }