import { RoomPlugin } from '../RoomPlugin.js'; import { Room } from '../../skychat/Room.js'; import { Connection } from '../../skychat/Connection.js'; import { Message } from '../../skychat/Message.js'; export type MessageLimit = { maxSuccessiveChars: number | null; }; export declare class MessageLimiterPlugin extends RoomPlugin { static readonly commandName = "messagelimiter"; static readonly errorMessage = "Message limit exceeded (character limit)"; readonly opOnly = true; readonly rules: { messagelimiter: { minCount: number; maxCount: number; params: { name: string; pattern: RegExp; }[]; }; }; protected storage: MessageLimit; constructor(room: Room); getRoomSummary(): null | number; run(_alias: string, param: string, connection: Connection): Promise; allowMessageEdit(message: Message, newContent: string): boolean; allowNewMessage(message: Message): boolean; onBeforeMessageBroadcastHook(message: Message): Promise; }