import { Schema } from 'koishi'; export interface BadWordItem { code: string; word: string; } export interface BadWordTable { id: number; groupId: string; word: string; createdAt: Date; } export interface WhitelistItem { userId: string; } export interface SmtpConfig { host: string; port: number; secure: boolean; user: string; pass: string; senderName: string; senderEmail: string; receivers: string[]; summaryIntervalDays: number; } export interface ApiConfig { apiUrl: string; apiId: string; apiKey: string; } export interface GroupConfig { id: string; groupId: string; enable: boolean; detectionMethods: Array<'local' | 'api' | 'baidu' | 'aliyun' | 'tencent' | 'ai'>; smartVerification: boolean; contextMsgCount: number; aiThreshold?: number; showCensoredWord?: boolean; localBadWordDict: string; whitelist: WhitelistItem[]; triggerThreshold?: number; triggerWindowMinutes?: number; muteMinutes?: number; checkProbability?: number; warningTemplate?: string; detailedLog: boolean; } export interface BaiduConfig { apiKey: string; secretKey: string; } export interface AliyunConfig { accessKeyId: string; accessKeySecret: string; endpoint: string; } export interface TencentConfig { secretId: string; secretKey: string; region: string; } export interface OpenAIConfig { apiKey: string; baseUrl: string; model: string; } export interface Config { debug: boolean; adminList: string[]; useApi: boolean; useBaidu: boolean; useAliyun: boolean; useTencent: boolean; useOpenAI: boolean; useEmail: boolean; smtp?: SmtpConfig; api?: ApiConfig; baidu?: BaiduConfig; aliyun?: AliyunConfig; tencent?: TencentConfig; openai?: OpenAIConfig; defaultMuteMinutes: number; defaultTriggerThreshold: number; defaultAiThreshold: number; defaultCheckProbability: number; checkAdmin: boolean; defaultShowCensoredWord: boolean; groups: GroupConfig[]; } export declare const Config: Schema;