/**
 * @module batch-recall
 * @description 支持批量撤回消息的Koishi插件
 */
import { Context, Schema } from 'koishi';
export declare const name = "batch-recall";
export declare const inject: {
    required: string[];
};
/**
 * 消息存储结构接口
 * @interface Message
 * @property {string} messageId - 消息的唯一标识符
 * @property {string} userId - 发送消息的用户ID
 * @property {string} channelId - 消息所在的频道ID
 * @property {number} timestamp - 消息的时间戳
 */
interface Message {
    messageId: string;
    userId: string;
    channelId: string;
    timestamp: number;
}
/**
 * 插件配置接口
 * @interface Config
 * @property {string[]} whitelistedGuilds - 允许记录消息的频道ID列表
 * @property {number} [maxMessagesPerUser] - 每个用户最多保存的消息数量
 * @property {number} [maxMessageRetentionHours] - 消息最长保留时间（小时）
 * @property {number} [cleanupIntervalHours] - 自动清理消息的时间间隔（小时）
 */
export interface Config {
    whitelistedGuilds: string[];
    maxMessagesPerUser?: number;
    maxMessageRetentionHours?: number;
    cleanupIntervalHours?: number;
}
declare module 'koishi' {
    interface Tables {
        messages: Message;
    }
}
/**
 * 插件配置模式定义
 */
export declare const Config: Schema<Schemastery.ObjectS<{
    maxMessagesPerUser: Schema<number, number>;
    maxMessageRetentionHours: Schema<number, number>;
    cleanupIntervalHours: Schema<number, number>;
    whitelistedGuilds: Schema<string[], string[]>;
}>, Schemastery.ObjectT<{
    maxMessagesPerUser: Schema<number, number>;
    maxMessageRetentionHours: Schema<number, number>;
    cleanupIntervalHours: Schema<number, number>;
    whitelistedGuilds: Schema<string[], string[]>;
}>>;
/**
 * 插件主函数
 * @param {Context} ctx - Koishi上下文
 * @param {Config} config - 插件配置
 */
export declare function apply(ctx: Context, config: Config): void;
export {};
