/// <reference types="node" />
import type { Room, RoomUser } from '../room';
import type { MessageStanza } from '../stanza';
import { Handler } from './abstract';
declare class HandlerNoDuplicate extends Handler {
    protected reason: string | undefined;
    protected delay: number;
    protected applyToModerators: boolean;
    protected readonly roomMessageListener: (stanza: MessageStanza, fromUser: RoomUser) => void;
    protected pruneTimeout: NodeJS.Timeout | undefined;
    protected userMessages: Map<string, Map<string, number>>;
    constructor(id: string, room: Room, options?: unknown);
    loadOptions(options: unknown): void;
    protected roomMessage(stanza: MessageStanza, fromUser: RoomUser): void;
    protected normalizeMessage(s: string): string;
    protected pruneUserMessages(): void;
    start(): void;
    stop(): void;
}
export { HandlerNoDuplicate };
