/** * 检查消息内容是否包含过滤词列表中的任意一个词(不区分大小写)。 * @param content - 要检查的内容。 * @param filterList - 过滤词字符串数组。 * @returns 如果包含任意一个过滤词,则返回 true,否则返回 false。 */ export declare function containsFilter(content: string, filterList: string[]): boolean; /** * 格式化日期对象或时间戳为指定格式的字符串。 * @param date - Date 对象或毫秒级时间戳。 * @param format - 格式化模板,默认为 "YYYY-MM-DD HH:mm:ss"。 * 支持的标记:YYYY, YY, MM, M, DD, D, HH, H, mm, m, ss, s * @returns 格式化后的日期字符串。 */ export declare function formatDate(date: Date | number, format?: string): string; /** * 根据频道 ID 的格式判断其类型。 * @param channelId - 频道 ID。 * @returns 频道类型: "private", "guild", 或 "sandbox"。 */ export declare function getChannelType(channelId: string): "private" | "guild" | "sandbox"; /** * 从 URL 下载文件并保存到本地,支持流式写入以优化大文件处理。 * @param url - 文件 URL。 * @param filePath - 本地保存路径(包含文件名)。 * @param overwrite - 如果文件已存在,是否覆盖。默认为 false。 * @throws 如果下载失败、文件已存在且 overwrite 为 false,则会抛出错误。 */ export declare function downloadFile(url: string, filePath: string, overwrite?: boolean): Promise; /** * 将各种类型的值转换为布尔值。 * 规则: * - 布尔值: 直接返回 * - 字符串: 'true', '1' -> true; 'false', '0' -> false (不区分大小写,忽略空格) * - 数字: 1 -> true; 0 -> false * - 其他: 使用 JavaScript 的隐式转换规则 (!!value) * @param value - 任意类型的值。 * @returns 转换后的布尔值。 */ export declare function toBoolean(value: any): boolean; /** * 使用正则表达式估算文本的 token 数量(一种不依赖第三方库的近似方法)。 * 对长文本更内存友好。 * @param text - 需要估算的文本。 * @returns {number} 估算的 token 数量。 */ export declare function estimateTokensByRegex(text: string): number; /** * 异步等待指定的毫秒数。 * @param ms - 等待的毫秒数。 * @returns 一个在指定时间后 resolve 的 Promise。 */ export declare function sleep(ms: number): Promise; /** * 将一个数字限制在指定的最小和最大值之间。 * @param num - 要限制的数字。 * @param min - 允许的最小值。 * @param max - 允许的最大值。 * @returns 限制后的数字。 */ export declare function clamp(num: number, min: number, max: number): number; /** * 创建一个防抖函数,该函数会从上一次被调用后,延迟 `wait` 毫秒后调用 `func` 方法。 * @param func - 要防抖的函数。 * @param wait - 需要延迟的毫秒数。 * @returns 返回新的防抖函数。 */ export declare function debounce any>(func: T, wait: number): (...args: Parameters) => void; /** * 根据文件 Buffer 数据判断文件的 MIME 类型 * @param data 文件的 Buffer 数据。在 Node.js 中是 Buffer,在浏览器中可以是 Uint8Array。 * @returns 文件的 MIME 类型字符串。如果无法识别,则返回 'application/octet-stream'。 */ export declare function getMimeType(data: Buffer | Uint8Array): string;